O que é polimorfismo e como ele aparece em Java
Polimorfismo significa que objetos de classes diferentes podem responder de formas diferentes ao mesmo método, mesmo compartilhando a mesma superclasse.
Carregando...
Mesmo que a variável animal seja do tipo Animal, o Java identifica em tempo de execução o tipo real do objeto guardado nela, e chama a versão correta do método.
O código que percorre o array animais não precisa saber se está lidando com um Cachorro ou um Gato. Ele só chama emitirSom(), e cada objeto sabe como se comportar.
Isso permite escrever código mais genérico, que funciona com qualquer subclasse de Animal, mesmo que novas subclasses sejam criadas no futuro.
Carregando...
O loop que percorre o array não precisou ser alterado para funcionar com a nova classe Passaro.