【发布时间】:2014-12-03 21:42:59
【问题描述】:
我是 C# 新手。我试图检查如何在 C# 中实现多态性,但我很困惑哪一种方法是实现多态性。我正在使用下面给出的代码,输出是A的方法。
class A
{
public void Display()
{
Console.WriteLine("A's Method");
}
}
class B : A
{
public void Display()
{
Console.WriteLine("B's Method");
}
}
class Polymorphism
{
public static void Main(string[] args)
{
A a = new B();
a.Display();
Console.ReadKey();
}
}
但是当我定义如下所示的 Display() 方法时,就会调用 B 的输出方法。
class A
{
public virtual void Display()
{
Console.WriteLine("A's Method");
}
}
class B : A
{
public override void Display()
{
Console.WriteLine("B's Method");
}
}
那么,我通过什么方式实现多态性,这两种方式之间有什么区别,哪一种方式更适合覆盖。任何帮助都将不胜感激。
【问题讨论】: