0% ont trouvé ce document utile (0 vote)
7 vues5 pages

Polymorphisme et Héritage en Python

L'exposé traite du polymorphisme et de l'héritage en Python, deux concepts clés de la programmation orientée objet qui favorisent la réutilisation du code et la flexibilité des applications. L'héritage permet à une sous-classe d'hériter des attributs et méthodes d'une super-classe, tandis que le polymorphisme permet d'utiliser une même interface pour différents types d'objets. Ensemble, ces concepts rendent les programmes plus modulaires et maintenables, et Python supporte également l'héritage multiple.

Transféré par

isaachou4
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
7 vues5 pages

Polymorphisme et Héritage en Python

L'exposé traite du polymorphisme et de l'héritage en Python, deux concepts clés de la programmation orientée objet qui favorisent la réutilisation du code et la flexibilité des applications. L'héritage permet à une sous-classe d'hériter des attributs et méthodes d'une super-classe, tandis que le polymorphisme permet d'utiliser une même interface pour différents types d'objets. Ensemble, ces concepts rendent les programmes plus modulaires et maintenables, et Python supporte également l'héritage multiple.

Transféré par

isaachou4
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Exposé : Le Polymorphisme et l’Héritage en Python

Introduction

En programmation orientée objet (POO), deux concepts fondamentaux permettent de


concevoir des applications flexibles, réutilisables et faciles à maintenir : l’héritage et le
polymorphisme. En Python, ces notions sont simples à implémenter grâce à sa syntaxe
intuitive.

1. L’Héritage

Définition

L’héritage est un mécanisme qui permet à une classe (appelée classe fille ou sous-classe) de
hériter des attributs et méthodes d’une autre classe (appelée classe mère ou super-classe).
Cela favorise la réutilisation du code et évite la redondance.

Syntaxe en Python

Python

class Animal:
def parler(self):
print("Cet animal fait un bruit.")

class Chien(Animal):
def parler(self):
print("Le chien aboie.")

Explication

Dans cet exemple, Chien hérite de Animal. Elle peut utiliser ou redéfinir les méthodes de la
classe mère. Ici, la méthode parler est surchargée (override) dans la classe fille.

2. Le Polymorphisme

Définition
Le polymorphisme permet d’utiliser une même interface (méthode ou fonction) pour
différents types d’objets. Il permet d’écrire du code plus générique et extensible.

Exemple simple

Python

class Chat(Animal):
def parler(self):
print("Le chat miaule.")

def faire_parler(animal):
[Link]()

faire_parler(Chien()) # Le chien aboie.


faire_parler(Chat()) # Le chat miaule.

Explication

Ici, la fonction faire_parler peut prendre n’importe quel objet ayant une méthode parler.
C’est ça le polymorphisme : un même appel (parler) se comporte différemment selon
l’objet.

3. Polymorphisme et héritage ensemble

L’héritage favorise le polymorphisme. Grâce à l’héritage, plusieurs classes peuvent partager


une structure commune, tout en ayant des comportements spécifiques.

Exemple pratique

Python

class Oiseau(Animal):
def parler(self):
print("L’oiseau chante.")

animaux = [Chien(), Chat(), Oiseau()]


for a in animaux:
[Link]()

Résultat

nginx
Le chien aboie.
Le chat miaule.
L’oiseau chante.

Ce code montre la puissance du polymorphisme : on traite une liste d’objets différents de


manière uniforme, tout en obtenant des comportements personnalisés.
Conclusion

Le polymorphisme et l’héritage sont deux piliers de la programmation orientée objet. En


Python :

• L’héritage permet de créer des relations entre les classes et de réutiliser du code.
• Le polymorphisme permet de concevoir des fonctions et des structures plus
générales et souples.

Ces concepts rendent les programmes plus modulaires, lisibles et maintenables, ce qui est
essentiel pour les grands projets logiciels.

Bonus : Héritage multiple

Python autorise aussi l’héritage multiple, ce qui signifie qu’une classe peut hériter de
plusieurs classes.

class A:
def afficher(self):
print("A")

class B:
def afficher(self):
print("B")

class C(A, B):


pass

c = C()
[Link]() # Affiche "A" car A est prioritaire dans l'ordre d'héritage

Python suit l’ordre MRO (Method Resolution Order) pour déterminer quelle méthode
appeler.

✅ 1. Héritage simple
Algorithme HéritageSimple

Début
Classe Animal
Méthode parler()
Afficher "Cet animal fait un bruit."

Classe Chien hérite de Animal


Méthode parler()
Afficher "Le chien aboie."

Variable a : Animal
a ← nouvel objet de type Animal
[Link]()

Variable c : Chien
c ← nouvel objet de type Chien
[Link]()
Fin

✅ 2. Polymorphisme avec une fonction


Algorithme PolymorphismeFonction

Début
Classe Animal
Méthode parler()
Afficher "Cet animal fait un bruit."

Classe Chien hérite de Animal


Méthode parler()
Afficher "Le chien aboie."

Classe Chat hérite de Animal


Méthode parler()
Afficher "Le chat miaule."

Procédure faire_parler(animal : Animal)


[Link]()

faire_parler(nouvel objet de type Chien)


faire_parler(nouvel objet de type Chat)
Fin

✅ 3. Polymorphisme avec boucle


Algorithme PolymorphismeBoucle

Début
Classe Animal
Méthode parler()
Afficher "Cet animal fait un bruit."

Classe Chien hérite de Animal


Méthode parler()
Afficher "Le chien aboie."

Classe Chat hérite de Animal


Méthode parler()
Afficher "Le chat miaule."

Classe Oiseau hérite de Animal


Méthode parler()
Afficher "L’oiseau chante."

Déclarer animaux comme tableau de Animal


animaux ← [nouveau Chien, nouveau Chat, nouveau Oiseau]

Pour chaque animal dans animaux faire


[Link]()
FinPour
Fin

✅ 4. Héritage multiple
plaintext
CopierModifier
Algorithme HeritageMultiple

Début
Classe A
Méthode afficher()
Afficher "A"

Classe B
Méthode afficher()
Afficher "B"

Classe C hérite de A et B

Variable c : C
c ← nouvel objet de type C
[Link]() // Affiche "A" car priorité à la première classe héritée
(A)
Fin

Vous aimerez peut-être aussi