using System;
public class Animal
{
// 定义一个虚方法,允许派生类重写此方法
public virtual void MakeSound()
{
Console.WriteLine("The animal makes a sound.");
}
}
public class Dog : Animal
{
// 重写基类中的虚方法
public override void MakeSound()
{
Console.WriteLine("The dog barks.");
}
}
public class Program
{
public static void Main()
{
Animal myAnimal = new Animal();
Animal myDog = new Dog();
myAnimal.MakeSound(); // 输出: The animal makes a sound.
myDog.MakeSound(); // 输出: The dog barks.
}
}
virtual
关键字:在 Animal
类中,MakeSound
方法被声明为 virtual
,这意味着它可以在派生类中被重写。override
关键字:在 Dog
类中,MakeSound
方法使用 override
关键字来重写基类中的同名方法。myDog
对象声明为 Animal
类型,但实例化为 Dog
类型,调用 MakeSound
方法时会根据实际对象类型执行相应的方法。这展示了 C# 中的多态特性。上一篇:c# crc16校验
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站