因为继承关系粒度太粗,它实际上可以并有必要拆分成三个关系。
当我们让子类继承了父类时,我们相当于: 行为上,让子类作为父类的代理。
数据上,让子类对象聚合了一个父类对象。
多态上,让子类作为父类的实现。
当面向对象刚刚兴起的时候,大家觉得三种关系可以合并成继承关系,这是很自然的。
毕竟,子类想要实现父类,最简单的做法就是往子类对象里面聚合一个父类对象,然后让子类代理访问父类的接口。
然而随着面向对象的发展,…。
代码:
阿里网盘为什么没有动静了?
你为什么对kotlin失去好感?
为什么中国主机带宽比美国贵5倍(原来错误的10000倍),比如阿里云?
华为自研的仓颉编程语言将于 7 月 30 日开源,这款语言将如何影响未来的开发趋势?
以色列为什么突然敢打伊朗了?不怕被报复?
为什么人到中年,很少有身材苗条的?
SwiftUI 是不是一个败笔?
为什么Rust的包管理器Cargo这么好用?
写业务的话,go是不是垃圾?
如何基于Docker进行开发?
如何看待三峡集团总部搬迁至武汉?
你最近有什么烦心事吗?把这里当树洞,说出来,可以吗?
Rust、Go、Zig、Dart、C3、C++、C,仓颉、moonbit、凹语言哪个语言更有未来?
Rust 未来会成为主流的编程语言吗?
歼20速度接近3马赫是什么水平?
为什么《长安的荔枝》中的李善德明明是受圣人敕封,却一点权利都没有?
有没有一个特别好用的Linux系统?
给孩子讲题为什么容易急眼?
到底是时代选择了Nvidia,还是Nvidia选择了时代?
golang总体上有什么缺陷?
广东怀集遇历史最大洪水,约 30 万人受灾,积水最深处达 3 米,目前当地情况如何?
中餐炒菜那么好吃,为什么欧美人不学去?
如何看待 Rust 写的 PNG 解码器比 C 实现更快?
5 月 28 日 DeepSeek R1 模型完成小版本试升级并开源,具体有哪些提升?使用体验如何?
小米汽车官方解释了刹车盘生锈属于正常现象,并提供了两种除锈功能,这些措施是否足够有效?