Créer une sous-classe Python

Python, réputé pour sa simplicité et sa polyvalence, permet aux développeurs d'écrire du code propre et maintenable. L'une de ses fonctionnalités puissantes est l'héritage, qui permet la création de sous-classes qui héritent des propriétés et des comportements des classes parentes. Le sous-classement permet la réutilisation du code, favorise la modularité et facilite l'extensibilité. Dans cet article, nous approfondirons les principes fondamentaux de la création de sous-classes Python, en explorant divers aspects avec plusieurs exemples.

Qu'est-ce que la sous-classe Python ?

En Python, une sous-classe est une classe qui hérite des attributs et des méthodes d'une autre classe, appelée superclasse ou classe parent. Lorsque vous créez une sous-classe, elle peut réutiliser et étendre les fonctionnalités de la superclasse. Cela vous permet de créer des versions spécialisées de classes existantes sans avoir à réécrire les fonctionnalités communes. Créer un sous-classe en Python , vous définissez une nouvelle classe et spécifiez la superclasse entre parenthèses après le nom de la classe.

Syntaxe :

classe Sous-classeNom(BaseClassName) :

# Attributs de classe et méthodes pour la sous-classe

#…

Comment créer une sous-classe Python ?

Vous trouverez ci-dessous le guide étape par étape expliquant comment créer un Python Sous-classe.

Exemple 1: Créer une sous-classe simple

  • Animal> est la classe de base avec un __init__> méthode pour initialiser le name> attribut et un make_sound> méthode (abstraite dans ce cas, car elle n’a pas d’implémentation spécifique).
  • Dog> est une sous-classe Animal> qui en hérite. Il remplace le make_sound> méthode pour fournir une implémentation spécifique pour les chiens.
  • Des instances des deux classes sont créées et nous montrons comment accéder aux attributs et aux méthodes.

Python3




class> Animal:> > def> __init__(> self> , name):> > self> .name> => name> > def> make_sound(> self> ):> > pass> class> Dog(Animal):> > def> make_sound(> self> ):> > return> 'Woof!'> # Creating instances> generic_animal> => Animal(> 'Generic Animal'> )> dog_instance> => Dog(> 'Buddy'> )> # Accessing attributes and methods> print> (generic_animal.name)> # Output: Generic Animal> print> (dog_instance.name)> # Output: Buddy> print> (dog_instance.make_sound())> # Output: Woof!>

Exemple 2 : ajout d'attributs supplémentaires dans la sous-classe

  • Shape> est la classe de base avec un __init__> méthode pour initialiser le color> attribut et un résumé area> méthode.
  • Circle> est une sous-classe de Shape> qui l'étend en ajoutant un radius> attribut. Il appelle le constructeur de superclasse en utilisant super()> pour initialiser l'attribut commun.
  • Le area> la méthode est remplacée dans le Circle> sous-classe pour fournir une implémentation spécifique pour calculer l’aire d’un cercle.
  • Des instances des deux classes sont créées et nous montrons comment accéder aux attributs et aux méthodes.

Python3




class> Shape:> > def> __init__(> self> , color):> > self> .color> => color> > def> area(> self> ):> > pass> class> Circle(Shape):> > def> __init__(> self> , color, radius):> > super> ().__init__(color)> > self> .radius> => radius> > def> area(> self> ):> > return> 3.14> *> self> .radius> *> *> 2> # Creating instances> generic_shape> => Shape(> 'Red'> )> circle_instance> => Circle(> 'Blue'> ,> 5> )> # Accessing attributes and methods> print> (generic_shape.color)> print> (circle_instance.color)> print> (circle_instance.radius)> print> (circle_instance.area())>

Conclusion

En conclusion, créer une sous-classe Python implique de définir une nouvelle classe qui hérite des attributs et des méthodes d’une classe existante, appelée classe de base ou superclasse. Les sous-classes peuvent étendre ou remplacer les fonctionnalités de la classe de base, permettant ainsi la réutilisation et la personnalisation du code. Grâce à l'utilisation du super()> fonction, les sous-classes peuvent appeler le constructeur de la superclasse pour initialiser les attributs partagés.