加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 18:22:54 所属栏目:百科 来源:网络整理
导读:我们知道.Net不支持多重继承.因此我们只能继承一个类.但默认情况下,每个类都继承’object’类.所以当我继承任何其他类时,为什么不发生错误. 例如A-Base类,B-派生类.当我使用A:B时,隐式对象类也被继承为(我认为)A:B,Object.如果.Net不支持多重继承,那怎么可
我们知道.Net不支持多重继承.因此我们只能继承一个类.但默认情况下,每个类都继承’object’类.所以当我继承任何其他类时,为什么不发生错误.

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

解决方法

不,它不是那样的 – 只有一个继承链,它将是:
__________
| Object |
----------
    ^
    |
__________
|   A    |
----------
    ^
    |
__________
|   B    |
----------

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

作为一个例子,为什么这与直接从A继承的B不一样,如果A重写ToString,B无法调用Object.ToString()的原始实现 – 它只能调用A的版本(并覆盖ToString本身),当然).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读