为什么go和rust语言都舍弃了继承?

2025-06-24 19:50:11

因为继承关系粒度太粗,它实际上可以并有必要拆分成三个关系。

当我们让子类继承了父类时,我们相当于: 行为上,让子类作为父类的代理。

数据上,让子类对象聚合了一个父类对象。

多态上,让子类作为父类的实现。

当面向对象刚刚兴起的时候,大家觉得三种关系可以合并成继承关系,这是很自然的。

毕竟,子类想要实现父类,最简单的做法就是往子类对象里面聚合一个父类对象,然后让子类代理访问父类的接口。

然而随着面向对象的发展,…。

为什么go和rust语言都舍弃了继承?
广告位810*200
相关阅读
《骑马与砍杀》出3的话,如何进一步改进?

《骑马与砍杀》出3的话,如何进一步改进?

骑砍2有一个让人很糟心的问题,那就是领地的防御体系形同虚设。...

2025-06-26
金山办公继续聘任雷军为“名誉董事长”,但不享权利、不担义务、不领薪酬,这个头衔的实际意义是什么?

金山办公继续聘任雷军为“名誉董事长”,但不享权利、不担义务、不领薪酬,这个头衔的实际意义是什么?

金山办公不是金山软件!!! 雷总负责的金山指的是金山软件!!...

2025-06-26
中国 GPS 定位的偏移(GCJ-02坐标系 / 火星坐标系)的存在意义是什么?真的有作用吗?

中国 GPS 定位的偏移(GCJ-02坐标系 / 火星坐标系)的存在意义是什么?真的有作用吗?

***系统里如果要填报或者自动显示,都是实际坐标,***自己...

2025-06-26
为什么有的程序员很抗拒使用Ai?

为什么有的程序员很抗拒使用Ai?

这个现象的确存在,而且很普遍。 我们公司最近也在推AI编程,...

2025-06-26
胸大的女孩会自卑 吗?

胸大的女孩会自卑 吗?

我75e还不算夸张,一到夏天会非常难受,尤其是工作穿工装的时...

2025-06-26