对于许多人来说这个问题可能是常见的,我试了一个小时来理解这些事情,但没有得到适当的解释.
MSDN说,System.Object是.NET Framework中所有类的最终基类; 它是类型层次结构的根.
当C#不允许多重继承时,我怎样才能继承,比如A类到B类.因为所有类,都已经从System.Object继承了吗?这里我说的是正常的继承.
Class A { --- }
Class B : A { --- }
Run Code Online (Sandbox Code Playgroud)
请清除我的怀疑.谢谢.
更新:
同样,我怀疑的是,所有类继承自System.Object,然后使类B具有类A和System.Object.从我上面的例子
Mar*_*ark 17
正确,C#只允许单一继承.System.Object类由类A隐式继承.因此,类B是-A A,它是一个System.Object.这由编译器负责,因此您不需要明确说出Class A : System.Object
(尽管您可以,如果您愿意).
很容易.猿继承自动物,黑猩猩继承自猿.黑猩猩也从动物身上继承,但主要不是通过猿.在.NET中,如果类没有显式声明其继承,则编译器会添加IL代码以从System.Object继承它.如果是,则通过父类型继承System.Object.
看,你只能有一个父亲.但你的父亲也可以有一个父亲.因此,您从祖父那里继承了一些属性.Dog
class继承自Mammals
,而Animal
class 继承自class,而LivingThing
class 继承自class.