C# 中的多態性是通過繼承和接口實現的。多態性允許一個對象以多種形式表現,即一個對象可以表現出父類的行為,也可以表現出子類的行為。
在 C# 中,多態性的實現主要依靠以下兩種方式:
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
通過重寫和接口的方式實現多態性,可以使代碼更加靈活和可擴展,同時提高代碼的復用性和可維護性。