Heim  >  Artikel  >  Backend-Entwicklung  >  C# | Virtuelle Methoden

C# | Virtuelle Methoden

WBOY
WBOYOriginal
2024-07-24 01:31:141124Durchsuche

C# | Virtual Methods

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

In C# ist eine virtuelle Methode eine Methode, die in abgeleiteten Klassen überschrieben werden kann. Dies ermöglicht Polymorphismus, bei dem eine Basisklassenreferenz verwendet werden kann, um Methoden für ein abgeleitetes Klassenobjekt aufzurufen.

Syntax:

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

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

Beispiel:

Betrachten Sie das folgende Beispiel:

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
    }
}

In diesem Beispiel verfügt die Animal-Klasse über eine virtuelle Methode MakeSound(). Die Klassen Dog und Cat überschreiben diese Methode mit ihren eigenen Implementierungen. Wenn Instanzen von Hund und Katze Tierreferenzen zugewiesen werden, werden die überschriebenen Methoden basierend auf dem tatsächlichen Objekttyp aufgerufen, was Polymorphismus demonstriert.

Was kommt als Nächstes?

Virtuelle Methoden bieten eine Möglichkeit, das Konzept des dynamischen Methodenversands in der objektorientierten Programmierung zu implementieren und zu nutzen.

Das obige ist der detaillierte Inhalt vonC# | Virtuelle Methoden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn