Chargement...

Héritage

Une classe enfant garde ce que le parent stocke déjà, et elle peut remplacer une tâche. Desk est un enfant de Lamp, ce que vous écrivez Desk(Lamp). L’enfant n’installe aucun paquet et ne crée aucun dossier. Desk("blue") stocke toujours le mot blue, parce que l’enfant n’a pas réécrit init. Le label du parent met toujours glow devant le mot. Le label de l’enfant met desk devant. Vous construisez toujours chaque lampe vous-même. La ligne class Desk(Lamp) n’en construit aucune pour vous.

l’enfant remplace une tâche

python
class Lamp:
    def __init__(self, color):
        self.color = color
    def label(self):
        return "glow " + self.color

class Desk(Lamp):
    def label(self):
        return "desk " + self.color

plain = Lamp("blue")
desk = Desk("blue")
print(plain.label())
print(desk.label())

L’écran affiche deux lignes. La première est glow blue, la seconde desk blue. plain a été construite à partir de Lamp, donc la tâche du parent s’exécute. desk a été construite à partir de Desk, donc la tâche de l’enfant s’exécute. Chaque ligne contient un espace. Les deux lampes stockent le même mot. Seule la tâche placée devant a changé. print écrit les lignes. Les méthodes renvoient les mots.

L’enfant ne réécrit pas le parent. Une lampe construite à partir de Lamp dit toujours glow blue. La lampe red de la page précédente n’est pas là. Ce qui a changé, c’est la tâche exécutée pour un Desk. plain.color et desk.color valent tous les deux blue. L’enfant n’a pas stocké de nouvelle couleur ; il a seulement remplacé label. Si l’enfant n’avait pas son propre label, la ligne glow du parent s’exécuterait aussi pour la lampe de bureau. Cet enfant a bien son propre label, donc la seconde ligne est desk blue.

La page suivante porte sur les méthodes spéciales. Cette page montre seulement un enfant qui garde le mot stocké et remplace une tâche.

L’enfant garde le mot

Desk est un enfant de Lamp. L’écran affiche glow blue, puis desk blue. Le mot stocké reste blue. L’enfant remplace label et ne réécrit pas le parent. La page suivante porte sur les méthodes spéciales.

🧠 Testez Vos Connaissances

Prêt à Commencer

Testez Vos Connaissances

Mettez-vous au défi avec ce quiz interactif et voyez à quel point vous comprenez le sujet

❓
7
Questions
🎯
70%
Pour Réussir
♾️
∞
Temps
🔄
∞
Tentatives

📝 Instructions

  • Lisez chaque question attentivement
  • Sélectionnez la meilleure réponse pour chaque question
  • Vous pouvez refaire le quiz autant de fois que vous le souhaitez
  • Votre progression sera affichée en haut