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.
public class BaseClass { public virtual void MyVirtualMethod() { // Base class implementation } } public class DerivedClass : BaseClass { public override void MyVirtualMethod() { // Derived class implementation } }
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.
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!