O que o polimorfismo essa herança não pode? [duplicado

Esta pergunta já tem uma resposta aqui:

Qual é a principal diferença entre herança e polimorfismo? 15 respostas

Imagine que temos uma classeAnimal que se estende a três outras classes:Dog, Cat, Bird.

Esta classe de animais tem umtalk() emove() função. A função talk produz "Animal talking" e a função move gera "Animal moving".

Para um cão, este é "Dog moving" e "Dog eating". Para oCat eBird class, essa diferença é paralela ao "movimento do gato" etc.

Agora, por causa do polimorfismo, se eu fizer

Animal charlietheBird = new Bird()

e ligue

charlietheBird.talk()

é saída

Bird talking

porque a saída é determinada em tempo de execução, pois o compilador sabe que charlie é um tipo deAnimal da classeBird.

CONTUDO!

Eu posso simplesmente fazer

Bird charlietheBird = new Bird();

e depois ligar paracharlietheBird.poop(); dará a mesma saída, porque o método teria sido substituído.

questionAnswers(3)

yourAnswerToTheQuestion