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

Metodo da classe filha não funciona.

Ainda tenho uma dúvida sobre herança:

Tenho:

"classe Mae" com um "método aAndar"

"classe Filha" com um "método aCorrer"

quando faço:

Mae aaa = new Filha();

Eu estou criando um objeto Mae ou Filha? (Eu acredito que seja Filha e a "variavel aaa" está dizendo que pode fazer referência a qualquer objeto Mae ou filha, neta).

Se eu fizer:

aaa.aAndar - Funciona.

aaa.aCorrer - Não Funciona.

Não deveria funcionar por causa do Polimorfismo?

O Java não reconhece que o objeto é Filha?

Obs. Fazendo o Filha aaa = new Filha(); Os métodos funcionam.

3 respostas

Isso mesmo Aldo. O objeto é Filha referenciado por uma variável do tipo Mae, então você só pode chamar os métodos da classe mãe porque o java verifica em tempo de compilação

solução!

Fala ai Aldo, tudo bem ?

Isso é polimorfismo. Você criando na memória um objeto mais especifico e guarda num mais genérico.

Quando fazemos isso, estamos trabalhando com tudo que a classe mae tem e não a classe filha.

Entendi.

A "variavel Mae aaa" referencia qualquer objeto da classe Mae (e suas subclasses), mas ela trata todos como objetos Mae.

Agradeço aos dois, valeu!!!