Sobes.tech
Junior

Qu'est-ce qu'une méthode virtuelle en C#?

sobes.tech IA

Réponse de l'IA

Une méthode virtuelle en C# est une méthode déclarée avec le mot-clé virtual dans la classe de base, qui peut être redéfinie dans les classes dérivées à l'aide du mot-clé override. Cela permet de réaliser le polymorphisme, où l'appel de la méthode dépend du type réel de l'objet au moment de l'exécution, et non du type de la variable.

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(); // Affichera "Ouaf-ouaf" grâce à la méthode virtuelle

Sans virtual et override, l'appel à la méthode serait statique et ne tiendrait pas compte du type réel de l'objet au moment de l'exécution.