Menu
Coddy logo textTech

Héritage de base

Fait partie de la section Object Oriented Programming du Journey Python de Coddy — leçon 17 sur 64.

L'héritage permet à une classe d'hériter des attributs et des méthodes d'une autre classe, créant ainsi une relation parent-enfant.

Voici un exemple d'une classe parente :

class Animal:
    def __init__(self, name):
        self.name = name
    
    def info(self):
        print(f"I am {self.name}, an animal")

Créez une classe enfant qui hérite du parent :

class Dog(Animal):
    pass  # Hérite de tout de la classe Animal

La syntaxe class Dog(Animal): signifie que Dog hérite de Animal. Placez le nom de la classe parente entre parenthèses.

Créez des objets à partir des deux classes :

generic_animal = Animal("Creature")
buddy = Dog("Buddy")

Utilisez les méthodes héritées :

generic_animal.info()
buddy.info()

Sortie :

I am Creature, an animal
I am Buddy, an animal

Même si Dog ne définit pas __init__ ou info, il les obtient automatiquement de Animal.

Vous pouvez ajouter de nouvelles méthodes à la classe enfant :

class Dog(Animal):
    def bark(self):
        print(f"{self.name} says Woof!")

buddy = Dog("Buddy")
buddy.info()  # Méthode héritée
buddy.bark()  # Nouvelle méthode

Sortie :

I am Buddy, an animal
Buddy says Woof!

Point clé : Les classes enfants héritent de tous les attributs et méthodes de leur classe parente. Utilisez la syntaxe class Child(Parent): pour créer un héritage. Cela vous aide à réutiliser le code et à créer des hiérarchies de classes logiques.

challenge icon

Défi

Moyen
  • vehicle.py : Contient la classe parente Vehicle
  • car.py : Contient la classe Car qui hérite de Vehicle
  • driver.py : Fichier principal pour tester votre implémentation

Chaque fichier contient des commentaires TODO détaillés pour vous guider tout au long de l'implémentation. Vous devrez :

  • Compléter la classe Vehicle avec les attributs make et model
  • Implémenter l'héritage de classe approprié dans la classe Car
  • Configurer les instructions d'importation correctes entre les fichiers
  • Créer et tester des objets dans le fichier driver

Suivez attentivement les commentaires TODO car ils fournissent des conseils étape par étape pour la solution.

Aide-mémoire

L'héritage permet à une classe d'hériter des attributs et des méthodes d'une autre classe en utilisant la syntaxe class Child(Parent): :

class Animal:
    def __init__(self, name):
        self.name = name
    
    def info(self):
        print(f"I am {self.name}, an animal")

class Dog(Animal):
    pass  # Hérite de tout ce qui provient d'Animal

Les classes enfants héritent automatiquement de toutes les méthodes et attributs du parent :

buddy = Dog("Buddy")
buddy.info()  # Utilise la méthode héritée
# Output: I am Buddy, an animal

Ajoutez de nouvelles méthodes aux classes enfants tout en conservant les fonctionnalités héritées :

class Dog(Animal):
    def bark(self):
        print(f"{self.name} says Woof!")

buddy = Dog("Buddy")
buddy.info()  # Méthode héritée
buddy.bark()  # Nouvelle méthode

Essayez vous-même

# À FAIRE : Importer la classe Vehicle depuis vehicle.py
# À FAIRE : Importer la classe Car depuis car.py

# À FAIRE : Créer un objet Vehicle avec la marque "Toyota" et le modèle "Corolla"
vehicle = None

# À FAIRE : Créer un objet Car avec la marque "Honda" et le modèle "Civic"
car = None

# À FAIRE : Appeler la méthode display_info() sur l'objet vehicle
# Résultat attendu : "Vehicle: Toyota Corolla"

# À FAIRE : Appeler la méthode display_info() sur l'objet car
# Résultat attendu : "Vehicle: Honda Civic"
# Note : Car hérite de display_info de Vehicle sans modification
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Object Oriented Programming