在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)性:
public class BaseClass
{
public virtual void Method()
{
Console.WriteLine("BaseClass Method");
}
}
在這個(gè)例子中,我們使用virtual
關(guān)鍵字將Method()
聲明為虛方法。這意味著在派生類中,我們可以重寫這個(gè)方法。
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)用派生類的方法。
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)性。