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校验
下一篇:c#控制台输出
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站