在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()
方法,从而实现了多态性。