3
respostas

[Dúvida] Referencia da segunda conta (conta2)

Fiquei um pouco confusa em relação a criação da conta2, seguir os mesmos passos da conta1 não é recomendado? Pois fiz idêntico à conta1 e não apareceu o erro de referência nula

Cliente cliente2 = new Cliente();
cliente2.nome = "JOsé fualno";
cliente2.cpf = "1232434546";
cliente2.profissao = "Dev";

ContaCorrente conta2 = new ContaCorrente();
conta2.titular = cliente2;  
conta2.conta = "1010-1";
conta2.numero_agencia = 16;
conta2.saldo = 100;

Console.WriteLine("Titular = " + conta2.titular.nome);
Console.WriteLine("CPF = " + conta2.titular.cpf);
Console.WriteLine("Profissao = " + conta2.titular.profissao);
Console.WriteLine("Nº Conta = " + conta2.conta);
Console.WriteLine("Saldo = " + conta2.saldo);
Console.WriteLine("Nº agencia = " + conta2.numero_agencia);
3 respostas

Caro Aluno,

Está certo, você instanciou outro objeto cliente a partir da classe "Cliente", pode ser idêntico em seus dados (conteúdo das propriedades) sem problemas, mas a área de alocação em memória da sua nova instância de objeto é outra e por isso não tem nenhum "problema".

Você pode instanciar a classe "Cliente" e a classe "ContaCorrente" quantas vezes você quiser ou precisar.

Lembre-se sempre (decore isso como um mantra sagrado, pois na programação isso é realmente um mantra sagrado!):

  • "Um objeto é uma instância da classe."

Leia mais em:

==========================================================

ORIENTAÇÃO A OBJETOS: CLASSE E OBJETO, PROPRIEDADES E MÉTODOS

Objeto é uma instância ou modelo derivado de uma classe. Portanto objeto é a representação de qualquer coisa, real ou abstrata, do mundo real que irá ser manipulado ou armazenado pelo sistema. O objeto sempre será uma instância ou um elemento da uma classe.

https://www.luis.blog.br/orientacao-a-objetos-classe-e-objeto-propriedades-e-metodos.html

==========================================================

[]'s,

Fabio I.

Estou tendo o mesmo problema com relação a conta2.titular = cliente2;

Isvaldo,

Deixa eu ver se eu entendi a dúvida e se consigo explicar...

Dentro da Classe "ContaCorrente" existe uma outra classe chamada "Cliente". A classe "Cliente" precisa ser iniciaslizada da mesma forma que foi inicializada a classe "ContaCorrente". É por este motivo que você precisa colocar a palavra chave NEW nesta linha: "conta2.titular = new Cliente();"

ContaCorrente conta2 = new ContaCorrente();
conta2.titular = new Cliente();
conta2.titular.nome = "José Souza";
conta2.titular.profissao = "Tester";
conta2.titular.cpf = "987654321";
conta2.conta = "9999-X";
conta2.numero_agencia = 18;
conta2.saldo = 500;

Console.WriteLine(conta2.titular.nome);

É esta sua dúvida?

[]'s,

Fabio I.