为什么object(root)类不会冲突多重继承

Raj*_*lar 6 .net c# oop

我们知道.Net不支持多重继承.因此我们只能继承一个类.但默认情况下,每个类都继承'object'类.所以当我继承任何其他类时,为什么不发生错误.

例如A-Base类,B-派生类.当我使用A:B时,隐式对象类也被继承为(我认为)A:B,Object.如果.Net不支持多重继承,那怎么可能呢?

Jon*_*eet 13

不,它不是那样的 - 只有一个继承链,它将是:

__________
| Object |
----------
    ^
    |
__________
|   A    |
----------
    ^
    |
__________
|   B    |
----------
Run Code Online (Sandbox Code Playgroud)

任何一个类只有一个直接基类,但类的继承链可以很长.

至于为什么这样的一个例子是不一样的B直接继承A,如果A覆盖ToString,有没有办法B调用原来实行的Object.ToString()-它可以调用A的版本(重写ToString本身,当然).