2016-12-07 51 views
-7

C#编程语言的问题。父类的虚拟方法有其自己的实现主体块?

问题:“父类的虚拟方法有其自己的实现主体块”。 我的回答:“假”。

我的回答正确吗?如果不是,请解释我,伙计们。

+1

它可以有自己的实现,但你可以覆盖它 –

+0

请阅读帮助中心。 http://stackoverflow.com/help – Lexi

+3

为什么不做一些研究并查看c#规范?具体来说,第1.6.6.4节 – Fran

回答

1

不,您的答案在一般情况下不正确。

在C#中有两个(*)的方式来声明一个虚方法:

virtual Foo Method1() 

或者

abstract Foo Method2() 

在第一种情况下,它是强制性的,该方法具有其自身的执行机构块(或其自己的表达体函数成员)。第二种情况恰恰相反,它不是强制性的。前者可能在派生类中被覆盖,后者必须在非抽象派生类中被覆盖。最后但并非最不重要的一点是,绝大多数虚拟方法都是以前的形式。 (*)纯粹主义者可能会争辩说,接口成员也是虚拟方法(虚拟的最终是确切的),但我会忽略这个问题,因为它不会改变答案。

相关问题