因为继承关系粒度太粗,它实际上可以并有必要拆分成三个关系。
当我们让子类继承了父类时,我们相当于: 行为上,让子类作为父类的代理。
数据上,让子类对象聚合了一个父类对象。
多态上,让子类作为父类的实现。
当面向对象刚刚兴起的时候,大家觉得三种关系可以合并成继承关系,这是很自然的。
毕竟,子类想要实现父类,最简单的做法就是往子类对象里面聚合一个父类对象,然后让子类代理访问父类的接口。
然而随着面向对象的发展,…。
代码:
现在好用的ai软件都有什么?
如何看待现在的前端?
为什么都认为无GC语言一定会比有GC语言要快?
winkawaks游戏模拟器怎么运行?
为何雷军天天健身,却无健身痕迹?
同事连续几天把孩子带来上班,你们有过这样的经历吗?
长得和刘亦菲很像是一种什么体验?
为什么现在很多人推崇国外原版教材?
在NAS上安装了什么应用,让你的生活体验有了巨大的提升?
golang为什么要内置map?
Golang与Rust哪个语言会是今后的主流?
async/await,真的是协程吗?
rust有什么适合萌新练手的项目吗?
启用哪一个DNS网速最快?
做个web服务器,gin框架和go-zero怎么选?
你见过哪些智障的反人类的设计?
国外(GoDaddy)注册的域名如何在国内备案?
为什么伊朗的防空系统失效了?
如何看待成都辟谣艾滋病17万人?
用GraphQL如何实现以下API请求?与REST的思路相比实现方法孰优孰劣?
养龟玩龟的人可怕吗?
为什么这么多人讨厌中国移动?
高一弟弟上设计课需要买电脑,为了杜绝他打游戏给他买了一万二的苹果,但他还是在想办法下载游戏,怎么救?
你身边身材最好的女生是什么样?
H264和H265谁画质好,求回谢谢!?
现在网络上各种前端已死,后端太卷的言论,这是真的吗?还是有人蓄意炒作?
Flutter 为什么没有一款好用的UI框架?
为什么 Rust 能够「战胜」 Zig 和 Ada?
为什么情侣在一起旅行后容易分手?