我不知道提出这个问题是否愚蠢,但它在我脑海中突然发出。
因为我们已经知道任何类不能有多个基类,并且我们也知道所有类(类型)最终都来自System.Object
。因此,从另一个类派生任何类已经有两个类(基类),比方说
Class B{...}
Class D : B {...}
因此,概念上Class D
派生自两个不同的基类D
和第二System.Object
。
我们不能说这个假设(类不能有多个基类)在每个派生的上下文中都是错误的,或者我们需要任何其他的理解才能知道这个概念。
答案 0 :(得分:4)
在C#中,派生在当时发生了一个类
D
派生自B
B
派生自Object
D
不直接来自Object
,当B
覆盖Object
中的某些方法时,这些更改仍适用于D
。
有些语言存在多重继承,比如C ++。有类似以下内容是可能的:
D
派生自B
和A
这只能通过使用接口在C#中实现。您并没有真正从C#中的多个类继承,您从一个继承并在需要时实现接口。如果你想拥有一个继承自多个类的类,你需要使用一个接口,如果你想共享公共属性和方法,但你必须自己重新实现它们。