2017-07-31 30 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#中的多个类继承,你需要继承它,并在需要时实现接口。如果你想拥有一个从多个类继承的类,如果你想共享公共属性和方法,你需要使用一个接口,但是你必须自己重新实现它们。

相关问题