Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] O polimorfismo em JAVA, somente funciona na mesma Herança?

Olá, na aula de polimorfismo compreendi que posso acessar um método utilizando a referência da classe genérica(mãe) ou das classe filha. Quando utilizo a referência da classe genérica, o java vai verificar esse método em cada classe genérica e também nas filhas, se o método for referente a classe filha "X", vai ser executado ou retornado o método especifico da classe filha "X".

Minha dúvida:

1- O polimorfismo só funciona em classes da mesma estrutura hierárquica?

exemplo:

Classe Veiculo; Classe Moto (herda de veiculo); Classe Carros (herda de veiculo); Classe HondaBiz (herda de moto, que herda de veiculo).

ou poderia utilizar o polimorfismo sem ser da mesma hierarquia?

exemplo:

Classe Casa (mãe); Classe Veiculo (mãe); Classe moto (herda de veiculo);

Associar a classe Casa com a classe moto, por exemplo.

2- Posso Criar uma nova classe genérica, invocar o método polimorfismo de outra classe genérica dentro dela?

Exemplo:

public class Aviao {

public void verificar(Veiculos veiculos) { String verificado = veiculos.getVerificar(); .............. }

1 resposta
solução!

Olá, sobre a sua primeira pergunta, é isso mesmo, o polimorfismo em Java só funciona com classes que possuem um ancestral em comum. Em Java não é possível ter heranças multiplas. No seu exemplo: Classe Casa (mãe); Classe Veiculo (mãe); Classe moto (herda de veiculo);

A classe moto não pode herdar Casa e Veículo ao mesmo tempo. Ou herda Casa ou herda Veículo. Esta é uma particularidade da linguagem Java. Já em outras linguagens, como C++ e Python, é possível sim ter heranças múltiplas.

Sobre a segunda pergunta a Classe Aviao, do seu exemplo, só poderá implementar métodos da classe Veículos se extender essa classe em algum nível, ou seja, possuir uma herança dela sendo, filho, neto, ou qualquer nível abaixo.