C# orienté objet

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

C#
Exécuter le code →
Program.cs
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}");
    }
}
Résultat de l’exécution
12.57
9.00

S'entraîner avec le débogueur

Placez un point d'arrêt sur une affectation ou une condition importante, cliquez sur Debug et inspectez les valeurs locales avant de passer à la ligne suivante.

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