Sobes.tech
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"