首页 >后端开发 >C++ >C# |虚拟方法

C# |虚拟方法

WBOY
WBOY原创
2024-07-24 01:31:141167浏览

C# | Virtual Methods

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn