在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類的方法,實現了多態的效果。