在C#中,實現多態性通常是通過繼承和方法重寫來完成的。多態性允許我們使用一個基類類型的引用來引用派生類的對象,并可以調用派生類的方法。這里有一個簡單的例子來說明如何使用C#實現多態性:
public class BaseClass
{
public virtual void Method()
{
Console.WriteLine("BaseClass Method");
}
}
在這個例子中,我們使用virtual
關鍵字將Method()
聲明為虛方法。這意味著在派生類中,我們可以重寫這個方法。
public class DerivedClass : BaseClass
{
public override void Method()
{
Console.WriteLine("DerivedClass Method");
}
}
在這個例子中,我們使用override
關鍵字重寫了基類的Method()
方法。現在,當我們使用基類類型的引用來引用派生類的對象時,將調用派生類的方法。
public class Program
{
public static void Main(string[] args)
{
BaseClass obj = new DerivedClass();
obj.Method(); // 輸出 "DerivedClass Method"
}
}
在這個例子中,我們創建了一個基類類型的引用obj
,并將其指向一個派生類的對象。然后,我們調用obj.Method()
,它實際上調用的是派生類的Method()
方法,從而實現了多態性。