L’héritage en Python fonctionne en permettant à une nouvelle classe d’hériter des méthodes et des attributs d’une classe existante. La classe existante est souvent appelée la classe parent ou superclasse, et la nouvelle classe est appelée la classe enfant ou sous-classe.
L’héritage est utile pour la réutilisation de code et la réduction de la complexité du programme. Les classes enfants héritent de toutes les fonctionnalités de la classe parent, mais peuvent également ajouter ou modifier des comportements pour les rendre plus spécifiques à leurs besoins.
Voici un exemple simple d’héritage en Python:
```
class Animal: # Classe parent
def __init__(self, name):
self.name = name
class Dog(Animal): # Classe enfant def speak(self): return f’{self.name} dit Woof!’
class Cat(Animal): # Classe enfant
def speak(self):
return f’{self.name} dit Meow!‘
```
Dans cet exemple, `Animal` est la classe parent et `Dog` et `Cat` sont les classes enfants. Les classes `Dog` et `Cat` héritent de la méthode `__init__` de la classe `Animal` pour initialiser l’attribut `name`.
La méthode `speak` dans la classe `Animal` est une méthode abstraite, ce qui signifie qu’elle n’a pas d’implémentation dans la classe `Animal` et doit être implémentée par toute classe qui hérite de `Animal`. Les classes `Dog` et `Cat` implémentent la méthode `speak` en renvoyant une chaîne de caractères spécifique à la classe.