我知道C#.net中的多态性和关键字虚拟,但我不知道什么是虚拟多态,我在昨天的采访中被问到这个问题
谢谢
答案 0 :(得分:2)
没有任何东西叫做虚拟多态。
您可以通过在C#中使用虚方法来实现多态性。
这意味着如果在基类中声明方法virtual
,您可以override
子/派生类中的方法来改变它的行为。
class Base
{
public virtual void SayHello()
{
Console.WriteLine("Hello from base");
}
}
class Derived : Base
{
public override void SayHello()
{
Console.WriteLine("Hello from derived");
}
}
答案 1 :(得分:2)
...要么
它们意味着“运行时多态”(后期绑定)(以便知道您是否知道编译时和运行时多态之间的区别)。
或者...
提出这个问题是为了让你迷惑。
答案 2 :(得分:1)
有以下概念:
我从未听说过虚拟多态。在大多数现代编程语言中,这些概念密切相关。恕我直言,区分它们是非常学术性的(我的意思是:继承,虚拟继承,多态,亚型多态)。