13.6 Résumé du chapitre
Les points saillants de ce chapitre sont les suivants :
- L'héritage décrit une relation « est un » entre les classes. Une classe, la sous-classe, hérite d'une autre classe, la superclasse.
- Les sous-classes peuvent accéder directement aux attributs et aux méthodes hérités.
- Les sous-classes peuvent redéfinir les méthodes de la superclasse pour modifier ou ajouter des fonctionnalités.
super()permet à une sous-classe d'accéder aux méthodes de la superclasse.- Le polymorphisme décrit une représentation unique pour de multiples formes et s'applique en Python pour définir plusieurs méthodes portant le même nom et permettre à une même méthode d'accepter différents arguments.
- L'héritage hiérarchique est un type d'héritage dans lequel plusieurs classes héritent d'une seule superclasse.
- L'héritage multiple est un type d'héritage dans lequel une classe hérite de plusieurs classes.
- Les classes mixin sont utilisées dans l'héritage multiple pour ajouter des fonctionnalités à une sous-classe sans introduire les contraintes liées à l'héritage.
À ce stade, vous devriez être en mesure d'écrire des sous-classes qui héritent d'attributs et de méthodes d'instance, ainsi que des sous-classes possédant des attributs propres et des méthodes redéfinies. Vous devriez également être capable d'établir des relations d'héritage hiérarchique et d'héritage multiple entre les classes.
| Tâche | Exemple |
|---|---|
| Définir une sous-classe |
class SuperClass:
pass
class SubClass(SuperClass):
pass |
Définir le |
class SubClass(SuperClass):
def __init__(self):
super().__init__() # Calls superclass __init__()
# Initialize subclass instance attributes |
| Redéfinir une méthode de superclasse |
class SuperClass:
def display(self):
print('Superclass method')
class SubClass(SuperClass):
def display(self): # Same name as superclass method
print('Subclass method') |
| Implémenter l'héritage hiérarchique |
class SuperClass:
def display(self):
print('Superclass method')
class SubClass1(SuperClass):
def display(self):
print('Subclass 1 method ')
class SubClass2(SuperClass):
def display(self):
print('Subclass 2 method')
class SubClass3(SuperClass):
def display(self):
print('Subclass 3 method') |
| Implémenter l'héritage multiple |
class SuperClass1:
pass
class SuperClass2:
pass
class SubClass(SuperClass1, SuperClass2):
pass |
Tableau
13.2
Référence du chapitre 13.