为什么go和rust语言都舍弃了继承?
因为继承关系粒度太粗,它实际上可以并有必要拆分成三个关系。
当我们让子类继承了父类时,我们相当于: 行为上,让子类作为父类的代理。
数据上,让子类对象聚合了一个父类对象。
多态上,让子类作为父类的实现。
当面向对象刚刚兴起的时候,大家觉得三种关系可以合并成继承关系,这是很自然的。
毕竟,子类想要实现父类,最简单的做法就是往子类对象里面聚合一个父类对象,然后让子类代理访问父类的接口。
然而随着面向对象的发展,…。
相关推荐
最新更新
推荐阅读
猜你喜欢
2025年小米su7 性价比很低了,为何还不更新改款?
我是新手想养鱼,预算不超过200。有什么好的建议或者禁忌吗。?
如何看待苹果在 WWDC25 发布的 Foundation 模型框架,它将为开发者和用户带来哪些改变?
哪个牌子的护肤品好呀?想给妈妈买一套抗衰老的护肤品?
“哨兵模式”涉嫌泄密,你支持封杀特斯拉吗?
为什么开发一个 AI Agent 看似容易,但真正让它「好用」却如此困难?技术瓶颈主要在哪里?
核武器真的有宣传中那么牛逼吗?
如何评价MiniMax推出的全球首个开源大规模混合架构的推理模型MiniMax-M1,其有何技术优势?
涉密计算机可以用windows10操作系统吗?
分享一下你用过好用的开源项目有哪些?
关注我们

包装生产线
网站首页
