// 定义一个基类 Animal
public class Animal
{
// 定义一个公共属性 Name
public string Name { get; set; }
// 构造函数
public Animal(string name)
{
Name = name;
}
// 定义一个虚方法 MakeSound,子类可以重写该方法
public virtual void MakeSound()
{
Console.WriteLine($"{Name} makes a sound.");
}
}
// 定义一个继承自 Animal 的子类 Dog
public class Dog : Animal
{
// 使用基类的构造函数初始化 Name 属性
public Dog(string name) : base(name)
{
}
// 重写基类的 MakeSound 方法
public override void MakeSound()
{
Console.WriteLine($"{Name} barks.");
}
}
// 定义一个继承自 Animal 的子类 Cat
public class Cat : Animal
{
// 使用基类的构造函数初始化 Name 属性
public Cat(string name) : base(name)
{
}
// 重写基类的 MakeSound 方法
public override void MakeSound()
{
Console.WriteLine($"{Name} meows.");
}
}
// 测试代码
class Program
{
static void Main(string[] args)
{
// 创建 Animal、Dog 和 Cat 对象
Animal animal = new Animal("Generic Animal");
Dog dog = new Dog("Buddy");
Cat cat = new Cat("Whiskers");
// 调用 MakeSound 方法
animal.MakeSound(); // 输出: Generic Animal makes a sound.
dog.MakeSound(); // 输出: Buddy barks.
cat.MakeSound(); // 输出: Whiskers meows.
}
}
基类 Animal:
Name 和一个构造函数来初始化这个属性。MakeSound,允许子类重写该方法。子类 Dog 和 Cat:
Animal 类,并使用基类的构造函数初始化 Name 属性。MakeSound 方法,以实现各自特有的行为(狗叫和猫叫)。测试代码:
Animal、Dog 和 Cat 对象,并调用了各自的 MakeSound 方法,展示了多态性。上一篇:c# mvc
下一篇:c# 两个日期之间的天数
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站