Sommaire

Héritage

1. Construction

L’héritage est le mécanisme par lequel une classe possède les membres d’une autre classe, afin d’éventuellement les spécialiser ou d’en ajouter de nouveaux. La syntaxe Python est la suivante :

# Définition de la classe de base.  
class Forme:  
    x = 0  
    y = 0  
  
# Définition de la classe dérivée.  
class Cercle(Forme):  
    # Le corps de la classe dérivée est vide.  
    pass  
  
c = Cercle()  
print(c.x, c.y)  
>>> 0 0

La classe Cercle hérite de la classe Forme et récupère donc les deux attributs x et y qui représentent les coordonnées de son centre. Cependant, ce centre est propre à l’instance de la forme, et ces attributs devraient être initialisés dans le constructeur, comme vu dans les sections précédentes. Lorsqu’une classe dérivée est instanciée, c’est son constructeur qui appelle le constructeur de la classe de base. Dans le cas d’un constructeur par défaut, comme c’est ici le cas pour la classe Cercle, cette tâche est effectuée automatiquement.

Mais en cas de réimplémentation du constructeur, il ne faut pas oublier de faire explicitement cet appel, sous peine de comportement inattendu :

# Définition de la classe de base.  
class Forme:  
   ...