给我用c#写一个多态继承的例子
时间: 2023-07-19 19:22:40 浏览: 119
继承单根性-继承和多态
好的,下面是一个简单的 C# 多态继承的例子:
```csharp
using System;
class Animal
{
public virtual void Sound()
{
Console.WriteLine("Animal is making a sound.");
}
}
class Dog : Animal
{
public override void Sound()
{
Console.WriteLine("The dog says woof.");
}
}
class Cat : Animal
{
public override void Sound()
{
Console.WriteLine("The cat says meow.");
}
}
class Program
{
static void Main(string[] args)
{
Animal animal = new Animal();
animal.Sound();
Animal dog = new Dog();
dog.Sound();
Animal cat = new Cat();
cat.Sound();
}
}
```
这个例子中,Animal 是一个基类,而 Dog 和 Cat 是 Animal 的子类。子类中都重写了基类的 Sound 方法,使其输出不同的声音。在 Main 方法中,我们分别创建了一个基类对象和两个子类对象,然后调用它们的 Sound 方法。由于 Dog 和 Cat 重写了 Sound 方法,所以它们的声音输出会与基类不同。这就是多态性的体现,不同的对象调用相同的方法会产生不同的结果。
阅读全文