Qu'est-ce qu'une sous-classe en Python ?
Une sous-classe est une classe qui hérite des propriétés et des méthodes d’une autre classe, appelée superclasse ou classe parent. La sous-classe hérite de tous les attributs et méthodes de la superclasse et peut également ajouter ses propres attributs et méthodes.
Par exemple, disons que nous avons une classe appelée « Véhicule » qui a des attributs comme « couleur » et « nombre_de_roues » et des méthodes comme « conduire " et " parc ". Maintenant, nous pouvons créer une sous-classe appelée « Car » qui hérite de la classe Vehicle et ajoute ses propres attributs et méthodes spécifiques aux voitures. La classe Car hériterait de tous les attributs et méthodes de la classe Vehicle et pourrait également ajouter ses propres attributs et méthodes comme "make" et "model".
Voici un exemple de la façon dont vous pourriez définir une sous-classe en Python :
```
class Vehicle:
def __init__(self, color, number_of_wheels):
self.color = color
self.number_of_wheels = number_of_wheels
def drive(self):
print("Driving...")
def park(self):
print("Parked...")
class Car(Vehicle):
def __init__(self, make, model, year):
super().__init__(make, model, year)
self.make = make
self. model = model
self.year = year
def drive(self):
print("Conduire le " + self.make + " " + self.model + " in " + self.year)
```
Dans cet exemple, la classe Car hérite de la classe Vehicle et ajoute ses propres attributs et méthodes spécifiques aux voitures. La classe Car remplace également la méthode de conduite de la classe Vehicle par une nouvelle implémentation qui inclut la marque, le modèle et l'année de la voiture.
Les sous-classes peuvent être utiles lorsque vous souhaitez créer une version plus spécialisée d'une classe qui hérite des propriétés et méthodes d’une classe parent. Ils sont couramment utilisés dans la programmation orientée objet pour créer des relations hiérarchiques entre les classes et promouvoir la réutilisation et la modularité du code.