En C#, méthode virtuelle

1. Méthode virtuelle

Une méthode marquée avec le mot-clé virtual peut être redéfinie (override) dans une classe dérivée.
Exemple :

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

public class Chien : Animal
{
    public override void Crier()
    {
        Console.WriteLine("Le chien aboie : Wouf !");
    }
}

class Program
{
    static void Main()
    {
        Animal a1 = new Animal();
        a1.Crier(); // → L’animal fait un bruit.

        Animal a2 = new Chien();
        a2.Crier(); // → Le chien aboie : Wouf !
    }
}

🔑 Ici :


2. Différence avec abstract et sealed


Veux-tu que je te fasse aussi un schéma clair qui montre les relations entre virtual, abstract, override et sealed ?