C#多态的实现c#实现多态某某人 1024的博
时间: 2024-06-12 16:10:11 浏览: 189
C#中多态性的实现
C#中实现多态的方式有两种:继承和接口。通过继承,子类可以重写父类的虚方法,从而实现多态。通过接口,不同的类可以实现同一个接口,并对接口中的方法进行不同的实现,也可以实现多态。
例如,定义一个Animal类,其中有一个虚方法MakeSound(),然后定义Dog和Cat类继承自Animal类,并重写MakeSound()方法。这样,在使用Animal类型的变量时,可以根据实际对象的类型调用不同的MakeSound()方法,实现多态。
代码示例:
```
public class Animal
{
public virtual void MakeSound()
{
Console.WriteLine("Animal makes sound.");
}
}
public class Dog : Animal
{
public override void MakeSound()
{
Console.WriteLine("Dog barks.");
}
}
public class Cat : Animal
{
public override void MakeSound()
{
Console.WriteLine("Cat meows.");
}
}
// 使用Animal类型的变量调用不同的MakeSound()方法
Animal animal1 = new Dog();
animal1.MakeSound(); // 输出:Dog barks.
Animal animal2 = new Cat();
animal2.MakeSound(); // 输出:Cat meows.
```
阅读全文