Table des matières
L'héritage est l'un des moyens de favoriser le fait de ne pas avoir à trop travailler, en nous aidant à éviter d'avoir à coder plusieurs fois le même code, peut-être pouvons-nous penser que nous pouvons le faire avec des fonctions, mais que se passe-t-il lorsque nous avons une classe et que nous voulons en faire un très similaire qui ne change qu'un ou deux aspects, c'est là que cela entre en jeu.L'héritage n'est rien de plus que de passer les attributs et les méthodes d'une classe supérieure et abstraite à une autre, que l'on veuille la rendre plus spécifique ou la rendre beaucoup plus abstraite en élargissant son spectre d'action.
Imaginons un instant que nous ayons besoin de créer une classe rectangle, c'est quelque chose d'assez spécifique puisque le rectangle est une forme géométrique définie, mais malgré cela il a des caractéristiques en commun avec d'autres figures, et si au lieu de faire une classe spécifique nous créions un La classe Figures, qui inclut les aspects et attributs communs, puis notre classe rectangle hérite de ces attributs et nous n'avons qu'à ajouter les méthodes et attributs spécifiques.
Une classe n'est rien de plus qu'une collection d'attributs et de méthodes définis de manière abstraite, sur lesquels nous pouvons construire des objets. Nous pouvons voir un exemple dans la vraie vie, si nous voyons un oiseau par la fenêtre, nous devons savoir qu'il appartient à la classe des oiseaux, mais si cet oiseau est un aigle alors nous disons qu'il fait partie de la sous-classe aigle, ce qui appartient à son tour à la classe des oiseaux et nous pouvons donc continuer à spécifier d'un niveau abstrait supérieur (oiseau) à un niveau plus spécifique (aigle), et les attributs de l'aigle sont ce qui le définit et le différencie des autres oiseaux.
Voyons un petit exemple de comment construire nos classes en Python.
Comme on peut le voir, on définit une classe de personne et son attribut principal est le nom, on crée plusieurs méthodes pour attribuer et consulter le nom et une méthode de salutation, qui permet de faire dire à l'objet son identification.
Voyons comment tout cela fonctionnerait dans le contexte d'un programme simple.
AGRANDIR
Si nous regardons l'affectation, foo = Person (), ce que nous faisons vraiment est de créer un objet de type Person (), donc maintenant foo aura les attributs et l'accès aux méthodes de la classe Person.Ensuite, nous voyons que nous appelons la méthode setName() pour deux objets différents, ici nous spécifions déjà chacun avec des attributs différents, mais qu'ils appartiennent à la même classe, quelque chose de similaire à l'exemple de l'aigle que nous avons vu quelques paragraphes depuis.
En fin de compte, lors de l'appel de la méthode greet (), chaque objet démontre sa différence malgré le départ de la même origine abstraite. De cette façon, nous n'avons pas eu à écrire de code de définition pour chaque objet mais simplement à réutiliser le code abstrait de la classe Person.
Avec cela, nous terminons ce tutoriel, c'est toute une théorie que nous devons continuer à pratiquer et à approfondir car c'est la base de ce qu'est la programmation orientée objet qui nous permettra de profiter de nombreuses fonctionnalités de Python.