因为继承关系粒度太粗,它实际上可以并有必要拆分成三个关系。
当我们让子类继承了父类时,我们相当于: 行为上,让子类作为父类的代理。
数据上,让子类对象聚合了一个父类对象。
多态上,让子类作为父类的实现。
当面向对象刚刚兴起的时候,大家觉得三种关系可以合并成继承关系,这是很自然的。
毕竟,子类想要实现父类,最简单的做法就是往子类对象里面聚合一个父类对象,然后让子类代理访问父类的接口。
然而随着面向对象的发展,…。
代码:
为什么这么多人说 Gmail 好用?Gmail 和 QQ 邮箱相比到底好在哪里?
男人会娶一个除了漂亮一无是处的女人吗?
HTTP/3 解决了什么问题,又引入了什么新问题?
你们学校的校花都是怎么样的?
住顶楼,经常有户人家上来晒被子,说了好多次不听,怎么办?
如何证明散片 CPU 比盒装 CPU 差?
vue转react是什么感受?
伊朗若拥有巴基斯坦的中国防控体系,能否把美国的B2轰炸机打下来?如果打下会对世界局势产生什么影响?
美国当年靠一台4KB内存的计算机完成登月,这是真的吗?
只是突然很好奇,已经造出了三艘航母,为何不能按照这样的模板,批量建造航母呢?
人民币如果国际化,最好的锚定物是什么呢?
做数据库内核开发的是不是很少?
为什么都认为无GC语言一定会比有GC语言要快?
为什么 Linux 软件安装包会有依赖关系,而 Windows 软件安装包不需要?
如何阅读Golang的源码?
为什么总有人要说"再见,docker!",那玩nas的为什么还离不开docker,比如绿联,飞牛?
国内大厂现在用rust的多吗?
全平台应用框架会是趋势吗?flutter、tauri、maui你更看好哪一个?
Golang 的 Web 框架该怎么选择?Web 开发又该怎样学?
vue + tsx 的开发体验能追得上 react+tsx么?
***购图形工作站,写了丽台T1000的需求,结果奸商写了个GTX1650的显卡还中了,我该如何反驳?
为什么山姆这么受欢迎?
据说go和c#的开发者都说自己比较节省内存,你们认为呢?
女生真正的完美身材是什么样子?
如何判断鱼缸中的硝化系统是否已经成功建立?
为什么微信不向telegram学习?
怎么学习前端开发?求推荐学习路线?
编程语言 MoonBit 发布 Beta 版,正式进入企业场景应用,会带来哪些影响?
为什么不用rust重写Nginx?
线上的程序员远程工作有靠谱的吗?