2017-07-31 361 views
-5

,我不知道是否它傻傻的問這個問題,但它在我的腦海裏突然撫摸。類「XX」不能擁有多個基類

既然我們已經知道任何類不能有多個基類,我們也知道所有類(類型)最終都是從System.Object派生的。因此,從另一個類派生的任何類已經兩班(基礎班)假設

Class B{...} 
Class D : B {...} 

所以概念Class D從第一D和第二System.Object兩個不同的基類派生。

我們不能說這個假設(類不能有多個基類),在每一個推導的情境沒有錯的或我們需要的其他任何瞭解才知道這個概念。

+1

很明顯嘛,沒有。 – Liam

+2

沒有D基礎對象實際上是B基礎對象等。 – Steve

+0

爲什麼你能解釋 – Rajput

回答

4

在C#,推導發生一類在時間

  • D導出從B
  • BObject

D導出不直接從Object派生,當B覆蓋一些從Object的方法,這些更改仍適用於D

在有些情況下多重繼承存在,如C++語言。有類似以下是可能的:

  • D派生從BA

這是唯一可能在C#中使用的接口。你並沒有真正從C#中的多個類繼承,你需要繼承它,並在需要時實現接口。如果你想擁有一個從多個類繼承的類,如果你想共享公共屬性和方法,你需要使用一個接口,但是你必須自己重新實現它們。

相關問題