Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Base Classes et Sous-classes | Héritage
Programmation Orientée Objet en Python

bookBase Classes et Sous-classes

Glissez pour afficher le menu

L'implémentation de l'héritage en Python se fait à l'aide des classes de base (parents) et des sous-classes (enfants).

Une classe de base définit des propriétés et comportements généraux, tandis qu'une sous-classe hérite de ces caractéristiques et peut les étendre avec les siennes.

123456789101112131415161718192021222324252627282930
class Employee: def __init__(self, name, salary): self.name = name self.salary = salary def get_info(self): return f"{self.name}, {self.salary}" class Manager(Employee): def __init__(self, name, salary, department): super().__init__(name, salary) self.department = department def get_info(self): return f"{super().get_info()}, {self.department}" class Developer(Employee): def __init__(self, name, salary, language): super().__init__(name, salary) self.language = language def get_info(self): return f"{super().get_info()}, {self.language}" print(Employee("Anna", 2000).get_info()) print(Manager("Mark", 3500, "IT").get_info()) print(Developer("Lena", 3000, "Python").get_info())
copy

Employee est la classe de base. Elle stocke les données partagées par tous les employés. Manager et Developer sont des sous-classes de Employee. Elles héritent automatiquement de tout ce qui provient de la classe de base, ce qui évite de réécrire le même code.

L'appel à super() exécute le constructeur de la classe de base, de sorte que name et salary sont correctement initialisés. Chaque sous-classe ajoute ensuite ses propres données :

  • Manager ajoute department
  • Developer ajoute language

Les deux sous-classes redéfinissent également get_info(). Elles réutilisent la version de la classe de base avec super().get_info() puis complètent le résultat avec leurs propres informations.

Note
Remarque

Cela fait de la classe de base la fondation, et de la sous-classe l’implémentation spécialisée qui ajoute de la flexibilité.

question mark

Quel est le rôle d'une sous-classe dans l'héritage en Python ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 2

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Section 2. Chapitre 2
some-alt