我们知道.Net
不支持多重继承.因此我们只能继承一个类.但默认情况下,每个类都继承’object’类.所以当我继承任何其他类时,为什么不发生
错误.
例如A-Base类,B-派生类.当我使用A:B时,隐式对象类也被继承为(我认为)A:B,Object.如果.Net不支持多重继承,那怎么可能呢?
不,它不是那样的 – 只有一个继承链,它将是:
__________
| Object |
----------
^
|
__________
| A |
----------
^
|
__________
| B |
----------
任何一个类只有一个直接基类,但类的继承链可以很长.
作为一个例子,为什么这与直接从A继承的B不一样,如果A重写ToString,B无法调用Object.ToString()的原始实现 – 它只能调用A的版本(并覆盖ToString本身),当然).