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.