因为继承关系粒度太粗,它实际上可以并有必要拆分成三个关系。
当我们让子类继承了父类时,我们相当于: 行为上,让子类作为父类的代理。
数据上,让子类对象聚合了一个父类对象。
多态上,让子类作为父类的实现。
当面向对象刚刚兴起的时候,大家觉得三种关系可以合并成继承关系,这是很自然的。
毕竟,子类想要实现父类,最简单的做法就是往子类对象里面聚合一个父类对象,然后让子类代理访问父类的接口。
然而随着面向对象的发展,…。
{dede:pagebreak/}
这种情况如何提高打字速度?
海贼王为什么现在被全网黑?
华为官宣鸿蒙 HarmonyOS 5.1 将于 7 月开启升级,对此你怎么看?会选择第一时间升级吗?
为什么 macOS 并不差,可市场总敌不过 Windows?
为什么军迷圈里总是爱大谈宏观战略,却很少谈战役战术?
微软宣布 5 月 28 日开始下架「Microsoft 远程桌面」应用,背后原因有哪些?
Android 开发时你遇到过什么相见恨晚的工具或网站?
为什么同样是输球,常州和国足的风评却差那么多呢?
为什么他们可以闻出来我身上的穷酸味?
为什么果粉对苹果非常地宽容?
如何看待伊朗国家电视台发文称“今晚将会发生一件大事,让世界铭记几个世纪”?
《碟中谍 8》都有哪些槽点?
开了个MC服务器,有点不知道咋维护,有谁愿意帮我看看嘛?
夸克网盘有可能超越百度网盘吗?
美国真会下场对伊朗开战吗?
为什么 Linux 软件安装包会有依赖关系,而 Windows 软件安装包不需要?