Python Tutorial

Héritage Python


Héritage Python

L’héritage nous permet de définir une classe qui hérite de toutes les méthodes et propriétés d’une autre classe.

Classe mère est la classe dont on hérite, également appelée classe de base.

Classe enfant est la classe qui hérite d’une autre classe, également appelée classe dérivée.


Créer une classe parent

N’importe quelle classe peut être une classe parente, donc la syntaxe est la même que pour créer n’importe quelle autre classe :

Exemple

Créer une classe nommée Personavec
firstname et lastname propriétés, et une printname méthode:

Personne de classe :
def __init__(self, fname, lname):

self.firstname = fname
self.lastname = lname

def printname(self):
print(self.firstname, self.lastname)

#Utilisez la classe Person pour créer un objet, puis exécutez la méthode printname :

x = Personne(“Jean”, “Biche”)
x.printname()

Essayez-le vous-même »


Créer une classe enfant

Pour créer une classe qui hérite des fonctionnalités d’une autre classe, envoyez la classe parent en tant que paramètre lors de la création de la classe enfant :

Exemple

Créer une classe nommée Studentqui héritera des propriétés et des méthodes de Person classe:

classe Étudiant(Personne):
passer

Note: Utilisez le pass
mot clé lorsque vous ne souhaitez pas ajouter d’autres propriétés ou méthodes à la classe.

Maintenant, la classe Student a les mêmes propriétés et méthodes que la classe Person.

Exemple

Utilisez le Student classe pour créer un objet, puis exécutez la printname méthode:

x = Étudiant(“Mike”, “Olsen”)
x.printname()

Essayez-le vous-même »



Ajouter la fonction __init__()

Jusqu’à présent, nous avons créé une classe enfant qui hérite des propriétés et des méthodes de son parent.

Nous voulons ajouter le __init__() fonction à la classe enfant (au lieu de la pass mot-clé).

Note: Le __init__() La fonction est appelée automatiquement chaque fois que la classe est utilisée pour créer un nouvel objet.

Exemple

Ajouter le __init__() fonction à la
Student classe:

classe Étudiant(Personne):
def __init__(self, fname, lname):

#ajouter des propriétés, etc.

Lorsque vous ajoutez le __init__() fonction, la classe enfant n’héritera plus de la classe parent __init__() fonction.

Note: Celui de l’enfant __init__()
fonction remplace l’héritage des parents
__init__()
fonction.

Pour conserver l’héritage des parents __init__()
fonction, ajouter un appel au parent __init__() fonction:

Exemple

classe Étudiant(Personne):
def __init__(self, fname, lname):

Person.__init__(self, fname, lname)

Essayez-le vous-même »

Nous avons maintenant ajouté avec succès la fonction __init__() et conservé l’héritage de la classe parente, et nous sommes prêts à ajouter des fonctionnalités dans le
__init__() fonction.


Utilisez la fonction super()

Python a aussi un super() fonction qui fera que la classe enfant hérite de toutes les méthodes et propriétés de son parent :

Exemple

classe Étudiant(Personne):
def __init__(self, fname, lname):

super().__init__(fname, lname)

Essayez-le vous-même »

En utilisant le super() fonction, vous n’êtes pas obligé d’utiliser le nom de l’élément parent, il héritera automatiquement des méthodes et des propriétés de son parent.


Ajouter des propriétés

Exemple

Ajouter une propriété appelée graduationyear au
Student classe:

classe Étudiant(Personne):
def __init__(self, fname, lname):

super().__init__(fname, lname)
année d’obtention du diplôme = 2019

Essayez-le vous-même »

Dans l’exemple ci-dessous, l’année 2019 doit être une variable, et passé dans le
Student classe lors de la création d’objets élèves. Pour ce faire, ajoutez un autre paramètre dans la fonction __init__() :

Exemple

Ajouter un year paramètre, et passez la bonne année lors de la création d’objets :

classe Étudiant(Personne):
def __init__(self, fname, lname, year):

super().__init__(fname, lname)
self.graduationyear = année

x = Étudiant(“Mike”, “Olsen”, 2019)

Essayez-le vous-même »


Ajouter des méthodes

Exemple

Ajouter une méthode appelée welcome au
Student classe:

classe Étudiant(Personne):
def __init__(self, fname, lname, year):

super().__init__(fname, lname)
self.graduationyear = année

def bienvenue (auto):
print(“Bienvenue”, self.firstname, self.lastname, “dans la classe de”, self.graduationyear)

Essayez-le vous-même »

Si vous ajoutez une méthode dans la classe enfant avec le même nom qu’une fonction dans la classe parent, l’héritage de la méthode parent sera remplacé.



#Héritage #Python

Related Articles

Back to top button