Polymorphisme
Explorez les concepts avancés de la POO.
Polymorphisme est une leçon Python For Kids gratuite sur CoddyKit. Ceci est la leçon 5 sur 5. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Python For Kids, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Python For Kids comprend 5 leçons au total.
Polymorphisme
Bienvenue dans la suite de la leçon sur la programmation orientée objet (POO) ! Aujourd’hui, nous allons découvrir le polymorphisme en Python, un concept puissant qui permet aux objets de prendre plusieurs formes.

Qu’est-ce que le polymorphisme ?
Le polymorphisme est un concept fondamental de la POO qui permet de traiter des objets de classes différentes comme des objets d’une même classe parente. Il permet à une même méthode de se comporter différemment selon l’objet qui l’appelle.
- Définition : « Plusieurs formes » : capacité de différents objets à répondre de manière unique au même appel de méthode.
- Objectif : Améliorer la flexibilité et l’intégration du code en permettant d’utiliser des objets interchangeables.
Voyons comment fonctionne le polymorphisme en Python !
Implémentation du polymorphisme
En Python, le polymorphisme peut être obtenu grâce à la redéfinition de méthodes et à l’utilisation de fonctions intégrées qui fonctionnent avec différents types d’objets.
- Redéfinition de méthode : Redéfinir dans une classe enfant une méthode déjà définie dans la classe parente.
- Fonctions intégrées : Fonctions comme
len()qui fonctionnent avec différents types de données.
Examinons en détail la redéfinition de méthodes.
Redéfinition de méthodes
La redéfinition de méthodes permet à une classe enfant de fournir une implémentation spécifique d’une méthode déjà définie dans sa classe parente. Il s’agit d’un aspect essentiel du polymorphisme.
Exemple :
# Defines the Animal parent class with a speak method
class Animal:
def speak(self):
print("The animal makes a sound.") # Generic speak method
Créer des classes enfants avec des méthodes redéfinies
Créons des classes enfants qui héritent de Animal et redéfinissent la méthode speak afin de fournir des comportements spécifiques.
Exemple :
# Defines the Dog child class inheriting from Animal
class Dog(Animal):
def speak(self):
print("The dog barks.") # Overridden speak method
# Defines the Cat child class inheriting from Animal
class Cat(Animal):
def speak(self):
print("The cat meows.") # Overridden speak method
Utiliser le polymorphisme avec des méthodes redéfinies
Créons maintenant des objets des classes enfants et observons comment ils présentent des comportements différents en utilisant le même nom de méthode.
Exemple :
# Creates objects of Dog and Cat classes
dog = Dog()
cat = Cat()
# Calls the speak method on both objects
dog.speak() # Output: The dog barks.
cat.speak() # Output: The cat meows.
Polymorphisme avec les fonctions intégrées
Le polymorphisme ne se limite pas aux classes définies par l’utilisateur. Les fonctions intégrées de Python, comme len(), fonctionnent avec différents types de données et illustrent ainsi le comportement polymorphe.
Exemple :
# Uses len() with a list
my_list = [1, 2, 3, 4]
print(len(my_list)) # Output: 4
# Uses len() with a string
my_string = "Hello"
print(len(my_string)) # Output: 5
# Uses len() with a dictionary
my_dict = {"a": 1, "b": 2}
print(len(my_dict)) # Output: 2
Programme exemple : calcul de l’aire de formes
Créons un programme qui calcule l’aire de différentes formes à l’aide du polymorphisme. Nous définirons une classe parente Shape ainsi que des classes enfants Circle et Rectangle qui redéfiniront la méthode area.
Code :
# Defines the Shape parent class with an area method
class Shape:
def area(self):
pass # Placeholder method
# Defines the Circle child class inheriting from Shape
class Circle(Shape):
def __init__(self, radius):
self.radius = radius # Sets the radius of the circle
def area(self):
return 3.14 * self.radius ** 2 # Calculates area of the circle
# Defines the Rectangle child class inheriting from Shape
class Rectangle(Shape):
def __init__(self, width, height):
self.width = width # Sets the width of the rectangle
self.height = height # Sets the height of the rectangle
def area(self):
return self.width * self.height # Calculates area of the rectangle
# Creates objects of Circle and Rectangle classes
circle = Circle(5)
rectangle = Rectangle(4, 6)
# Calculates and prints areas using polymorphism
print("Circle Area:", circle.area()) # Output: Circle Area: 78.5
print("Rectangle Area:", rectangle.area()) # Output: Rectangle Area: 24
# Defines the Vehicle parent class with a move method
class Vehicle:
def move(self):
print("The vehicle moves.")
# Defines the Bicycle child class inheriting from Vehicle
class Bicycle(Vehicle):
def move(self):
print("The bicycle pedals forward.")
# Defines the Airplane child class inheriting from Vehicle
class Airplane(Vehicle):
def move(self):
print("The airplane flies in the sky.")
# Creates objects of Bicycle and Airplane classes
bike = Bicycle()
plane = Airplane()
# Calls the move method on both objects
bike.move()
plane.move()
Excellent travail !
Vous avez découvert le polymorphisme en Python et appris comment il permet à des objets de classes différentes de répondre de manière unique aux mêmes appels de méthodes. Le polymorphisme améliore la flexibilité et l’évolutivité de votre code, ce qui le rend plus facile à gérer et à étendre. Continuez à vous entraîner en créant davantage de classes et de méthodes qui utilisent un comportement polymorphe afin de consolider votre compréhension !

Questions Fréquemment Posées
La leçon « Polymorphisme » est-elle gratuite ?
Oui — le texte complet de « Polymorphisme » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Python For Kids, passe à CoddyKit PRO. Le cours Python For Kids comprend 5 leçons au total.
Qu'est-ce que j'apprendrai dans « Polymorphisme » ?
Explorez les concepts avancés de la POO. Tu pratiques Python For Kids avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Python For Kids ?
Aucune expérience préalable n'est requise. Python For Kids sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 5 sur 5.
Combien de temps prend la leçon « Polymorphisme » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Python For Kids ?
Oui. Chaque leçon Python For Kids inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.