Sobes.tech
Junior — Middle

Expliquez le concept de méthodes virtuelles en C# et leur rôle dans la mise en œuvre du polymorphisme.

sobes.tech IA

Réponse de l'IA

En C#, les méthodes virtuelles sont des méthodes déclarées avec le mot-clé virtual, qui peuvent être redéfinies dans des classes dérivées à l'aide de override. C'est la base de la mise en œuvre du polymorphisme — la capacité d'appeler des méthodes de classes dérivées via des références à la classe de base.

Lorsqu'une méthode est déclarée virtuelle, l'appel de la méthode est déterminé au moment de l'exécution (liaison dynamique), et non lors de la compilation. Cela permet à un objet de se comporter différemment en fonction de son type réel.

Exemple :

class Animal {
    public virtual void Speak() {
        Console.WriteLine("L'animal fait un bruit");
    }
}

class Dog : Animal {
    public override void Speak() {
        Console.WriteLine("Ouaf-ouaf");
    }
}

Animal a = new Dog();
a.Speak(); // Affiche "Ouaf-ouaf"

Ici, bien que la variable a ait le type Animal, la méthode redéfinie Speak() de la classe Dog est appelée grâce à la méthode virtuelle.