Junior — Middle
Pode-se dizer que a herança contribui para a implementação do polimorfismo na programação orientada a objetos?
sobes.tech IA
Resposta da IA
Sim, a herança é um dos mecanismos-chave que contribuem para a implementação do polimorfismo na programação orientada por objetos. O polimorfismo permite que objetos de diferentes classes sejam tratados através de uma interface comum, e a herança fornece a capacidade de criar hierarquias de classes, onde subclasses podem substituir métodos da classe base.
Por exemplo, se houver uma classe base Animal com um método fazerSom(), e subclasses Cão e Gato substituírem esse método, então pode-se trabalhar com objetos dessas classes através de uma referência à classe base e chamar o método fazerSom(), obtendo comportamentos diferentes:
class Animal {
void fazerSom() {
System.out.println("Algum som");
}
}
class Cão extends Animal {
@Override
void fazerSom() {
System.out.println("Latir");
}
}
class Gato extends Animal {
@Override
void fazerSom() {
System.out.println("Miau");
}
}
// Uso
Animal a = new Cão();
a.fazerSom(); // Vai imprimir "Latir"