Définissez la syntaxe de l’héritage
L’élément principal de syntaxe utilisé pour définir les sous-classes se trouve dans la définition de classe elle-même : class FilmCassette(Film)
. Le parent de la classe est placé entre parenthèses après le nom de la classe dans la toute première ligne de la classe ! Suivez ce screencast pour comprendre son utilisation dans le code :
Le principal intérêt de l’héritage est d’étendre notre classe de base, en lui ajoutant des attributs ! Suivez cette nouvelle vidéo pour en savoir plus :
Et voici notre code finalisé :
class FilmCassette(Film):
"""Un film en cassette !"""
def __init__(self, name):
"""Initialise le nom et la bande magnetique."""
self.name = name
self.magnetic_tape = True
def rewind(self):
"""Rembobine le film."""
print("C'est long à rembobiner !")
self.magnetic_tape = True
En cas d’héritage multiple – sujet que nous aborderons brièvement plus loin, au chapitre 4 – les classes parents sont séparées par des parenthèses, de façon similaire à celle dont fonctionnent les paramètres de fonctions, comme ceci : class SousClasse(ParentUn,ParentDeux, ...)
.
Appliquez les concepts : écrivez du code en utilisant l’héritage
Dans cet exercice, nous utiliserons les classes que vous avez définies au chapitre précédent, au sujet de la création d’un forum. Dans votre environnement de développement, écrivez une définition de classe pour chacune de ces classes (en utilisant des sous-classes lorsque c’est judicieux).
Pour l’instant, supposons que nous sortions uniquement le contenu d’un post vers le terminal. L’implémentation de l’affichage des posts n’est pas obligatoire, utilisez simplement pass
pour ces méthodes.
Lorsque vous ne savez pas comment implémenter une méthode, vous pouvez utiliser pass
comme corps de cette méthode. Faites preuve de discernement lorsque vous implémentez ces méthodes. Souvenez-vous d’inclure des constructeurs pour chaque classe !
La solution propose un code avec une implémentation complète. Profitez-en pour bien comprendre chaque méthode. ;)
En résumé
On définit une classe enfant en utilisant
class Enfant(Parent)
.Par défaut, toutes les classes héritent d’Objet – un objet Python qui fournit une fonctionnalité basique.
Les classes peuvent hériter de classes parents multiples simultanément – dans le cas de l’héritage multiple.
Maintenant que nous avons nos sous-classes, rejoignez-nous au chapitre suivant, où nous utiliserons la surcharge pour permettre à nos sous-classes d’avoir un comportement différent de celui de leurs parents.