Le polymorphisme en C#
Dans cette leçon, vous allez utiliser le polymorphisme pour appeler la même méthode sur plusieurs types de formes à travers un type commun.
Introduction
Le polymorphisme (polymorphism) permet de manipuler plusieurs types d'objets à travers un type commun, sans utiliser de if pour tester chaque type. Chaque type d'objet décide lui-même comment exécuter sa méthode.
La classe abstraite Shape déclare la méthode Area() sans l'implémenter, et Circle et Square implémentent chacune leur propre calcul d'aire avec override. Même si la variable shape de la boucle a le type commun Shape, le programme appelle à l'exécution la bonne version de chaque objet, ce qui donne 12.57 et 9.00.
Exemple C# exécutable
using System;
abstract class Shape { public abstract double Area(); }
class Circle(double radius) : Shape { public override double Area() => Math.PI * radius * radius; }
class Square(double side) : Shape { public override double Area() => side * side; }
class Program
{
static void Main()
{
Shape[] shapes = { new Circle(2), new Square(3) };
foreach (Shape shape in shapes) Console.WriteLine($"{shape.Area():F2}");
}
}
12.57
9.00S'entraîner avec le débogueur
S'entraîner avec un défi
Utilisez le contenu de cette leçon pour résoudre un vrai problème. Chaque défi s'exécute dans le navigateur, avec des tests instantanés et une revue par l'IA.
Tous les défis