為什么go和rust語言都舍棄了繼承?
作者: 發布日期:2025-06-24 20:30:11
因為繼承關系粒度太粗,它實際上可以并有必要拆分成三個關系。
當我們讓子類繼承了父類時,我們相當于: 行為上,讓子類作為父類的代理。
數據上,讓子類對象聚合了一個父類對象。
多態上,讓子類作為父類的實現。
當面向對象剛剛興起的時候,大家覺得三種關系可以合并成繼承關系,這是很自然的。
畢竟,子類想要實現父類,最簡單的做法就是往子類對象里面聚合一個父類對象,然后讓子類代理訪問父類的接口。
然而隨著面向對象的發展,…。








