Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvida em herança.

Tenho a seguinte duvida. Se eu tenho a classe Conta, que é a classe mãe. E as classes filhas são conta corrente e conta poupança. Na classe testa contas, qual é a melhor forma de referencialas?

Conta c = new Conta (); contacorrente cc = new contacorrente (); contapoupanca cp = new contapoupanca();

ou

Conta c = new Conta (); Conta cc = new contacorrente(); Conta cp = new contapoupanca();

3 respostas
solução!

Ola, então não tem o melhor a usar, do que você ira precisar, lembrando, que o seu código

Conta c = new Conta();
Conta cc = new ContaCorrente();
Conta cp = new ContaPoupanca();

Lembrando que aqui você esta usando o conceito polimorfismo, onde você esta criando um objeto do tipo Conta! irá mostrár tudo oque nem nessa classe, agora se você ja atribuir um instancia do tipo

ContaCorrente cc = new ContaCorrente();

se essa ContaCorrente extender do Class pai que a do banco, ira a passar ter acesso todos os atributos e metodos da classe Conta, e se tiver algum atributo especifico do classe ContaCorrente você também ira acessar dessa forma. Agora para sua duvida, depende muito da ocasião.

Então quer dizer que das duas formas, eu terei acesso a todos os atributos da classe Conta, exceto se for protected?

Sim voce tera acesso das duas formas da classe conta, Jessica você pode deixar tudo private, geralmente quase todos atributos irao ser private, lembrando para voce acessar o atributo, voce pode fazer os getters e setters da sua classe Conta, mais se quiser deixar protected também está correto, ai quando for protected não ira ser necessario os getters e setters para acessar o atributo