C# 中的多態(tài)性是通過繼承和接口實現(xiàn)的。多態(tài)性允許一個對象以多種形式表現(xiàn),即一個對象可以表現(xiàn)出父類的行為,也可以表現(xiàn)出子類的行為。
在 C# 中,多態(tài)性的實現(xiàn)主要依靠以下兩種方式:
class Animal
{
public virtual void MakeSound()
{
Console.WriteLine("Animal makes sound");
}
}
class Dog : Animal
{
public override void MakeSound()
{
Console.WriteLine("Dog barks");
}
}
Animal animal = new Dog();
animal.MakeSound(); // 輸出:Dog barks
interface IShape
{
void Draw();
}
class Circle : IShape
{
public void Draw()
{
Console.WriteLine("Circle is drawn");
}
}
class Square : IShape
{
public void Draw()
{
Console.WriteLine("Square is drawn");
}
}
IShape shape = new Circle();
shape.Draw(); // 輸出:Circle is drawn
shape = new Square();
shape.Draw(); // 輸出:Square is drawn
通過重寫和接口的方式實現(xiàn)多態(tài)性,可以使代碼更加靈活和可擴展,同時提高代碼的復(fù)用性和可維護性。