2016-12-07 36 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() 

在第一種情況下,它是強制性的,該方法具有其自身的執行機構塊(或其自己的表達體函數成員)。第二種情況恰恰相反,它不是強制性的。前者可能在派生類中被覆蓋,後者必須在非抽象派生類中被覆蓋。最後但並非最不重要的一點是,絕大多數虛擬方法都是以前的形式。 (*)純粹主義者可能會爭辯說,接口成員也是虛擬方法(虛擬的最終是確切的),但我會忽略這個問題,因爲它不會改變答案。

相關問題