Héritage en langage Python

1 – Notion d’héritage et classe parent

Pour éviter de recopier le code d’une classe, on utilise la méthode d’héritage. La méthode d’héritage consiste à créer à partir d’une classe parent ou (classe mère) une autre classe appelé classe fille ou (classe enfant) qui hérite toutes les méthodes et propriétés de la classe mère. Pour simplifier l’acquisition pour les apprenants débutant, nous allons traiter ce concept sur des exemples simples:

2 – Exemples d’héritages en Python

Classe mère:

#-*- coding: utf-8 -*- 
class Personne:     
     def __init__(self,nom,age):         
         self.nom = nom         
         self.age=age
class classe_fille(classe_mère)

Qui veut dire que la classe classe_fille hérite de la calsse classe_mère.

Exemple pour notre cas de la classe fille Student qui hérite de la classe mère Personne:

class Student(Personne):

L’héritage des attributs nom et age se fait via la commande:

Personne.__init__(self,nom,age)

Code de la classe fille Student:

#-*- coding: utf-8 -*-
class Student(Personne): 
    # définition des attributs des attributs    
    def __init__(self,nom,age,filiere):
        # héritage des attributs depuis la classe mère Personne        
        Personne.__init__(self,nom,age)         
        # ajout d'un nouvel attribut filiere à la classe fille
        self.filiere = filiere

Exemple: (complet )

#-*- coding: utf-8 -*-
class Personne:     
     def __init__(self,nom,age):         
         self.nom = nom         
         self.age=age
# La classe fille Student hérite de la classe mère Personne
class Student(Personne): 
    # définition des attributs des attributs    
    def __init__(self,nom,age,filiere):
        # héritage des attributs depuis la classe mère Personne        
        Personne.__init__(self,nom,age)         
        # ajout d'un nouvel attribut filiere à la classe fille
        self.filiere = filiere 
Stud = Student("Albert",27,"math") 
print("Le nom de l'étudiant  est : " ,Stud.nom) 
print("L'age de l'étudiant  est : " ,Stud.age) 
print("La filière de l'étudiant  est : " ,Stud.filiere)

Ce qui affiche après exécution:

Le nom de l’étudiant est : Albert
L’age de l’étudiant est : 27
La filière de l’étudiant est : math