Qu'est-ce que le polymorphisme en programmation?
sobes.tech IA
Réponse de l'IA
Le polymorphisme est la capacité des objets de différentes classes à réagir différemment à un même appel de méthode. Cela est réalisé en utilisant l'héritage, les classes abstraites et les interfaces. En C#, le polymorphisme se manifeste par la redéfinition (overriding) des méthodes de la classe de base dans les classes dérivées et par la surcharge (overloading) des méthodes.
Exemples de polymorphisme :
-
Redéfinition de méthodes (Polymorphisme à l'exécution) : La classe dérivée fournit sa propre implémentation d'une méthode déclarée dans la classe de base. Pour cela, dans la classe de base, on utilise le mot-clé
virtual, et dans la dérivée,override.// Classe de base class Shape { // Méthode virtuelle pouvant être redéfinie public virtual void Draw() { // Implémentation par défaut } } // Classe dérivée 1 class Circle : Shape { // Redéfinition de la méthode Draw public override void Draw() { // Implémentation pour un cercle } } // Classe dérivée 2 class Square : Shape { // Redéfinition de la méthode Draw public override void Draw() { // Implémentation pour un carré } }Dans ce cas, on peut créer une liste d'objets
Shapeet appeler la méthodeDrawpour chacun, ce qui entraînera l'exécution de l'implémentation spécifique à chaque type de figure. -
Surcharge de méthodes (Polymorphisme à la compilation) : Plusieurs méthodes avec le même nom mais avec des signatures différentes (nombre ou types de paramètres) dans une même classe.
class Calculator { // Méthode surchargee Add (pour int) public int Add(int x, int y) { return x + y; } // Méthode surchargee Add (pour double) public double Add(double x, double y) { return x + y; } }
Le polymorphisme favorise la création d'un code plus flexible, extensible et facile à maintenir. Il permet d'écrire un code générique qui peut fonctionner avec des objets de différents types.