Leçon 1 / 9 — Chapitre 2: POO : héritage et polymorphisme
L'héritage : une classe qui hérite d'une autre
L'héritage permet à une classe de reprendre automatiquement les attributs et méthodes d'une autre classe, pour éviter de dupliquer du code entre des classes proches.
class Animal:
def __init__(self, nom):
self.nom = nom
def se_presenter(self):
return f"Je m'appelle {self.nom}"
class Chien(Animal):
def aboyer(self):
return f"{self.nom} aboie : Ouaf !"
rex = Chien("Rex")
print(rex.se_presenter())
print(rex.aboyer())
Ce code affiche Je m'appelle Rex, puis Rex aboie : Ouaf !. class Chien(Animal): signifie que Chien hérite de Animal : Animal est la classe parente (ou classe mère), Chien est la classe enfant (ou sous-classe).
Chien n'a pas redéfini __init__ ni se_presenter : elle les reçoit automatiquement de Animal, et n'ajoute que ce qui lui est propre (aboyer). rex.se_presenter() fonctionne donc sans qu'aucun code n'ait été réécrit dans Chien.
À vous de jouer : créez une classe Animal avec __init__ et se_presenter, puis une classe Chat(Animal) qui ajoute une méthode miauler, et testez les deux méthodes sur un objet Chat.
À vous de jouer
À faireQue va afficher ce code ?
class Animal:
def __init__(self, nom):
self.nom = nom
def se_presenter(self):
return f"Je suis {self.nom}"
class Chat(Animal):
pass
f = Chat("Felix")
print(f.se_presenter())
Copiez ce code dans un environnement Python en ligne (Google Colab, Replit, ou tout autre) pour vérifier le résultat avant de répondre.
À vous de jouer
À faireDans class Chien(Animal):, quel role joue Animal ?
Copiez ce code dans un environnement Python en ligne (Google Colab, Replit, ou tout autre) pour vérifier le résultat avant de répondre.
💡 deux mots