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

2025-06-28 22:20:11

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

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

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

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

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

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

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

为什么go和rust语言都舍弃了继承?
广告位810*200
相关阅读
作为一个服务器,node.js 是性能最高的吗?

作为一个服务器,node.js 是性能最高的吗?

嘿,兄弟们!今天你焦虑了吗? 反正我朋友圈的 JS 开发者群...

2025-06-25
如何评价B站up主***千代退网?

如何评价B站up主***千代退网?

你们说的就是这个人吗? 这种***姬早些年主战场都是在微...

2025-06-25
为什么国内程序员们没有联合起来设计一种中英文严格2:1宽度比的字体呢?

为什么国内程序员们没有联合起来设计一种中英文严格2:1宽度比的字体呢?

推荐一款在GitHub开源的字体: Maple Font ,...

2025-06-25
做客孩子临走时带走几只玩具,我的孩子抗拒并一直哭,要怎么开导?

做客孩子临走时带走几只玩具,我的孩子抗拒并一直哭,要怎么开导?

初版的全套哈利波特***,还有机器猫全套22本超长篇和45本...

2025-06-25
为什么Rust的包管理器Cargo这么好用?

为什么Rust的包管理器Cargo这么好用?

好用,指 request 被一个死了九年的包占用。 新来的...

2025-06-25