因为继承关系粒度太粗,它实际上可以并有必要拆分成三个关系。
当我们让子类继承了父类时,我们相当于: 行为上,让子类作为父类的代理。
数据上,让子类对象聚合了一个父类对象。
多态上,让子类作为父类的实现。
当面向对象刚刚兴起的时候,大家觉得三种关系可以合并成继承关系,这是很自然的。
毕竟,子类想要实现父类,最简单的做法就是往子类对象里面聚合一个父类对象,然后让子类代理访问父类的接口。
然而随着面向对象的发展,…。
{dede:pagebreak/}
为什么 Android 和 iOS 渲染架构不一样,各有什么优劣势?
VScode怎么配置好golang?
为什么大多数发达国家都不敢赶走美军基地?
Firefox是如何一步一步衰落的?
女明星做了什么医美项目保持童颜?
学习linux内核有什么好的书吗?
独立开发者都使用了哪些技术栈?
什么洗碗机,真的有家庭在用么?
儿子抑郁四年左右了,他的未来该怎么办?
你为什么放弃了wsl?
MiniMax Week第三天推出通用 Agent,体验如何?对行业会带来哪些影响?
作为普通中国人,我们可以为以色列人民做点什么?
现在独立开发 Win 和 Mac 跨平台的桌面程序,Qt 是最佳选择吗?
以色列是如何从三天前的不可一世要灭了伊朗到今天的哭哭啼啼要“为生存而战”的?
OpenWrt 能做哪些有趣的事?
苹果因为中国黄牛导致取消只换不修,外国没有黄牛吗?