溫馨提示×

virtual c# 實現多態性的原理

c#
小樊
101
2024-07-14 04:43:24
欄目: 編程語言

C# 中的多態性是通過繼承和接口實現的。多態性允許一個對象以多種形式表現,即一個對象可以表現出父類的行為,也可以表現出子類的行為。

在 C# 中,多態性的實現主要依靠以下兩種方式:

  1. 重寫(override):子類可以重寫父類的虛方法(virtual method),從而改變原有方法的行為。在重寫的過程中,子類可以實現自己特定的邏輯,但方法簽名必須保持一致。
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
  1. 接口(interface):接口定義了一組約定的方法,類可以實現接口并提供自己的實現。通過接口,一個對象可以以多種形式表現。
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

通過重寫和接口的方式實現多態性,可以使代碼更加靈活和可擴展,同時提高代碼的復用性和可維護性。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女