因为继承关系粒度太粗,它实际上可以并有必要拆分成三个关系。
当我们让子类继承了父类时,我们相当于: 行为上,让子类作为父类的代理。
数据上,让子类对象聚合了一个父类对象。
多态上,让子类作为父类的实现。
当面向对象刚刚兴起的时候,大家觉得三种关系可以合并成继承关系,这是很自然的。
毕竟,子类想要实现父类,最简单的做法就是往子类对象里面聚合一个父类对象,然后让子类代理访问父类的接口。
然而随着面向对象的发展,…。
代码:
男友凌晨高速开车,我情绪崩溃了,谁的错?
能发一张在暧昧期的聊天记录吗?
程序员 macOS 有哪些必装软件?
在哪一瞬间,你意识到那个人不能深交?
大家在做登录功能时,一般怎么做暴力破解防护?
23999元的鸿蒙电脑,值得买吗?
后端真的比前端累吗?
你的低成本爱好是什么?
和女生合租,都会发生什么事情?
如何评价B站up主***千代退网?
win10如何设置远程共享文件夹?
为什么都认为无GC语言一定会比有GC语言要快?
长期使用的大佬来说说,MacOS 真的比 Windows 稳定吗?
你的亲戚提过什么过分的要求?
美国登月到底是不是真的?
组nas一定要TDP低的cpu吗?
什么是 AI Agent(智能体)?
为什么多地「国补」暂停了?
为什么 m1 ***用大小核设计却没有 intel 的问题?
如何看待 Rust 的应用前景?
***x512具体在哪些方面应用?
大家为什么会讨厌缩写?
现代艺术只考虑意义、不考虑美感吗?
有一张巨强的显卡是什么体验?
为什么现在的键盘几乎很少有104配列了?
未来几年,市场对 AI 人才的需求会集中在哪几个方向?
flutter为什么不用Go语言,而用Dart?
如何看待 Git 的 Windows 安装程序称 Vim「很难用」?
面试中被嘲笑Token放在redis里,该如何应对这种情况呢?