1
resposta

POLIMORFISMO

Sobre POLIMORFISMO, embora duas ou mais classes usam o UM mesmo método de uma classe genérica ou classe mãe, essas classes definem assinaturas diferentes para esse método ao usarem ele, minha pergunta é: o que faz o compilador definir esse método para cada classe e lá usar de acordo com sua assinatura estabelecida é o Objeto? por que vi que o Tipo pode ser mudado para o nome da classe genérica, como funciona também.

1 resposta

Oie Ricardo, tudo bem contigo?

Não sei se entendi muito bem sua dúvida, mas vamos lá

O que informa a jvm quais métodos serão chamados numa relação de herança é a referência usada no momento de instanciar o objeto, por isso se for feito assim Funcionario gerente = new Gerente(); só poderá ser acessado os métodos que pertencem a classe "Funcionario". Agora se for feito assim Gerente gerente = new Gerente(); todos os métodos, tanto os pertencentes a classe "Funcionario" quanto aos criados diretamente na classe "Gerente" poderão ser acessados.

Agora se por exemplo, o método "getBonificacao" da classe "Funcionario" for reescrito na classe "Gerente", por mais que se seja assim Funcionario gerente = new Gerente(); a implementação chamada ainda será aquela que foi reescrita na classe "Gerente". E as coisas acontecem dessa forma, pois é assim que a JVM interpreta.

Espero ter conseguido ajudar!

Se ainda restar qualquer dúvida estarei por aqui :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!