c#構(gòu)造類怎樣實(shí)現(xiàn)多態(tài)性

c#
小樊
81
2024-10-18 19:16:31

在C#中,實(shí)現(xiàn)多態(tài)性通常是通過(guò)繼承和方法重寫來(lái)完成的。多態(tài)性允許我們使用一個(gè)基類類型的引用來(lái)引用派生類的對(duì)象,并可以調(diào)用派生類的方法。這里有一個(gè)簡(jiǎn)單的例子來(lái)說(shuō)明如何使用C#實(shí)現(xiàn)多態(tài)性:

  1. 首先,創(chuàng)建一個(gè)基類(BaseClass):
public class BaseClass
{
    public virtual void Method()
    {
        Console.WriteLine("BaseClass Method");
    }
}

在這個(gè)例子中,我們使用virtual關(guān)鍵字將Method()聲明為虛方法。這意味著在派生類中,我們可以重寫這個(gè)方法。

  1. 然后,創(chuàng)建一個(gè)派生類(DerivedClass),繼承自BaseClass:
public class DerivedClass : BaseClass
{
    public override void Method()
    {
        Console.WriteLine("DerivedClass Method");
    }
}

在這個(gè)例子中,我們使用override關(guān)鍵字重寫了基類的Method()方法?,F(xiàn)在,當(dāng)我們使用基類類型的引用來(lái)引用派生類的對(duì)象時(shí),將調(diào)用派生類的方法。

  1. 最后,在主程序中測(cè)試多態(tài)性:
public class Program
{
    public static void Main(string[] args)
    {
        BaseClass obj = new DerivedClass();
        obj.Method(); // 輸出 "DerivedClass Method"
    }
}

在這個(gè)例子中,我們創(chuàng)建了一個(gè)基類類型的引用obj,并將其指向一個(gè)派生類的對(duì)象。然后,我們調(diào)用obj.Method(),它實(shí)際上調(diào)用的是派生類的Method()方法,從而實(shí)現(xiàn)了多態(tài)性。

0