Maison  >  Article  >  développement back-end  >  C# | Méthodes virtuelles

C# | Méthodes virtuelles

WBOY
WBOYoriginal
2024-07-24 01:31:141124parcourir

C# | Virtual Methods

Note
You can check other posts on my personal website: https://hbolajraf.net

En C#, une méthode virtuelle est une méthode qui peut être substituée dans les classes dérivées. Cela permet le polymorphisme, où une référence de classe de base peut être utilisée pour invoquer des méthodes sur un objet de classe dérivé.

Syntaxe:

public class BaseClass
{
    public virtual void MyVirtualMethod()
    {
        // Base class implementation
    }
}

public class DerivedClass : BaseClass
{
    public override void MyVirtualMethod()
    {
        // Derived class implementation
    }
}

Exemple:

Considérons l'exemple suivant :

using System;

public class Animal
{
    public virtual void MakeSound()
    {
        Console.WriteLine("Animal makes a generic sound");
    }
}

public class Dog : Animal
{
    public override void MakeSound()
    {
        Console.WriteLine("Dog barks");
    }
}

public class Cat : Animal
{
    public override void MakeSound()
    {
        Console.WriteLine("Cat meows");
    }
}

class Program
{
    static void Main()
    {
        Animal myDog = new Dog();
        Animal myCat = new Cat();

        myDog.MakeSound();  // Output: Dog barks
        myCat.MakeSound();  // Output: Cat meows
    }
}

Dans cet exemple, la classe Animal possède une méthode virtuelle MakeSound(). Les classes Dog et Cat remplacent cette méthode par leurs propres implémentations. Lorsque des instances de Dog et Cat sont attribuées à des références Animal, les méthodes remplacées sont appelées en fonction du type d'objet réel, démontrant le polymorphisme.

Et ensuite ?

Les méthodes virtuelles offrent un moyen d'implémenter et d'exploiter le concept de répartition dynamique des méthodes dans la programmation orientée objet.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn