Sobes.tech
Junior — Middle

Peut-on dire que l'héritage favorise la réalisation du polymorphisme en programmation orientée objet?

sobes.tech IA

Réponse de l'IA

Oui, l'héritage est l'un des mécanismes clés qui favorisent la mise en œuvre du polymorphisme en programmation orientée objet. Le polymorphisme permet aux objets de différentes classes d'être traités via une interface unique, et l'héritage permet de créer des hiérarchies de classes où les sous-classes peuvent redéfinir les méthodes de la classe de base.

Par exemple, si une classe de base Animal possède une méthode faireDuSon(), et que les sous-classes Chien et Chat redéfinissent cette méthode, alors on peut travailler avec des objets de ces classes via une référence à la classe de base et appeler la méthode faireDuSon(), obtenant des comportements différents:

class Animal {
    void faireDuSon() {
        System.out.println("Un son");
    }
}

class Chien extends Animal {
    @Override
    void faireDuSon() {
        System.out.println("Aboyer");
    }
}

class Chat extends Animal {
    @Override
    void faireDuSon() {
        System.out.println("Miaou");
    }
}

// Utilisation
Animal a = new Chien();
a.faireDuSon(); // Affiche "Aboyer"