Note You can check other posts on my personal website: https://hbolajraf.net
在 C# 中,虚方法是可以在派生类中重写的方法。这允许多态性,其中基类引用可用于调用派生类对象上的方法。
public class BaseClass { public virtual void MyVirtualMethod() { // Base class implementation } } public class DerivedClass : BaseClass { public override void MyVirtualMethod() { // Derived class implementation } }
考虑以下示例:
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 } }
在此示例中,Animal 类有一个虚拟方法 MakeSound()。 Dog 和 Cat 类用它们自己的实现重写此方法。当 Dog 和 Cat 的实例被分配给 Animal 引用时,会根据实际的对象类型调用重写的方法,从而体现了多态性。
虚拟方法提供了一种在面向对象编程中实现和利用动态方法分派概念的方法。
以上是C# |虚拟方法的详细内容。更多信息请关注PHP中文网其他相关文章!