什么是虚拟多态?

时间:2010-12-15 10:09:56

标签: c# polymorphism oop

我知道C#.net中的多态性和关键字虚拟,但我不知道什么是虚拟多态,我在昨天的采访中被问到这个问题

谢谢

3 个答案:

答案 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)

有以下概念:

我从未听说过虚拟多态。在大多数现代编程语言中,这些概念密切相关。恕我直言,区分它们是非常学术性的(我的意思是:继承,虚拟继承,多态,亚型多态)。