// 定义一个基类,其中包含一个虚拟方法
public class Animal
{
// 使用 virtual 关键字定义一个可以被子类重写的方法
public virtual void MakeSound()
{
Console.WriteLine("This animal makes a sound.");
}
}
// 定义一个派生类,重写基类中的虚拟方法
public class Dog : Animal
{
// 使用 override 关键字重写基类中的虚拟方法
public override void MakeSound()
{
Console.WriteLine("The dog barks.");
}
}
// 测试代码
public class Program
{
public static void Main()
{
Animal myAnimal = new Animal();
Animal myDog = new Dog();
// 调用基类的 MakeSound 方法
myAnimal.MakeSound(); // 输出: This animal makes a sound.
// 调用派生类的 MakeSound 方法
myDog.MakeSound(); // 输出: The dog barks.
}
}
virtual
关键字:用于声明一个可以在派生类中重写的方法。在基类中使用 virtual
关键字定义的方法可以在派生类中通过 override
关键字进行重写。override
关键字:用于在派生类中重写基类中定义的虚拟方法。只有当基类中的方法使用了 virtual
或 abstract
关键字时,派生类才能使用 override
进行重写。Animal myDog = new Dog();
),可以实现多态性,即调用的方法取决于实际的对象类型而不是引用类型。上一篇:c# aot
下一篇:c# try
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站