在C#中,多态是通过继承和接口实现的。要实现多态,首先需要创建一个基类或接口,并在派生类中重写基类或接口的方法。然后可以使用基类或接口的类型去实例化派生类对象,并调用重写的方法,这样就可以实现多态。
下面是一个示例代码:
using System;
// 基类
class Animal
{
public virtual void MakeSound()
{
Console.WriteLine("Animal makes a sound");
}
}
// 派生类1
class Cat : Animal
{
public override void MakeSound()
{
Console.WriteLine("Cat meows");
}
}
// 派生类2
class Dog : Animal
{
public override void MakeSound()
{
Console.WriteLine("Dog barks");
}
}
class Program
{
static void Main()
{
Animal animal1 = new Cat();
Animal animal2 = new Dog();
animal1.MakeSound();
animal2.MakeSound();
}
}
在这个示例中,Animal是基类,Cat和Dog是派生类。我们使用基类Animal类型去实例化Cat和Dog对象,然后调用MakeSound方法。由于MakeSound方法被派生类重写了,所以实际调用的是Cat和Dog类的方法,实现了多态的效果。