Galera, eu estava testando os limites dos encapsulamentos. Já temos as classes clientes e contas feitas... No começo do curso foi dito para criar um atributo na classe Conta:
class Conta { public int Numero { get; set; }
public double Saldo { get; private set; }
public Cliente titular;
public void Saca(double valor) { this.Saldo -= valor; }
public void Deposita(double valor) { this.Saldo += valor; }
public void Transfere(double valor, Conta destino) { this.Saldo -= valor; destino.Saldo += valor; } }
pois ao instanciá-los:
Cliente cliente1= new Cliente(); Conta conta1 = new Conta(); conta1.titular = fulano;
poderia se obter o mesmo resultado para buscar tanto para cliente1.nome quanto para conta1.titular .
Mas ao fazer as classes usando encapsulamentos assim:
class Conta {
public int Numero { get; set; }
public double Saldo { get; private set; }
public Cliente titular; }
class Cliente
{ public string Nome { get; private set; }
public string Rg { get; set; }
private string cpf;
public string Endereco { get; set; }
public string Idade { get; set; }
public Cliente (string nome, string rg, string cpf) { this.Nome = nome; this.Rg = rg; this.cpf = cpf; }
public Cliente() { }
public string Nomeia {
set { this.Nome = value; } }
public string Cpf { get { return cpf; }
set { this.cpf = value; }
}
} Ao fazer o mesmo procedimento e tentar imprimir a mensagem na tela :
MessageBox.Show("Nome: " + conta1.titular);
O que aparece no lugar do nome que eu defini, é o nome do projeto do Visual Studio...
o que acontece?