“XX”类不能有多个基类

时间:2017-07-31 16:10:47

标签: c#

我不知道提出这个问题是否愚蠢,但它在我脑海中突然发出。

因为我们已经知道任何类不能有多个基类,并且我们也知道所有类(类型)最终都来自System.Object。因此,从另一个类派生任何类已经有两个类(基类),比方说

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

因此,概念上Class D派生自两个不同的基类D和第二System.Object

我们不能说这个假设(类不能有多个基类)在每个派生的上下文中都是错误的,或者我们需要任何其他的理解才能知道这个概念。

1 个答案:

答案 0 :(得分:4)

在C#中,派生在当时发生了一个类

  • D派生自B
  • B派生自Object

D不直接来自Object,当B覆盖Object中的某些方法时,这些更改仍适用于D

有些语言存在多重继承,比如C ++。有类似以下内容是可能的:

  • D派生自BA

这只能通过使用接口在C#中实现。您并没有真正从C#中的多个类继承,您从一个继承并在需要时实现接口。如果你想拥有一个继承自多个类的类,你需要使用一个接口,如果你想共享公共属性和方法,但你必须自己重新实现它们。