因为继承关系粒度太粗,它实际上可以并有必要拆分成三个关系。
当我们让子类继承了父类时,我们相当于: 行为上,让子类作为父类的代理。
数据上,让子类对象聚合了一个父类对象。
多态上,让子类作为父类的实现。
当面向对象刚刚兴起的时候,大家觉得三种关系可以合并成继承关系,这是很自然的。
毕竟,子类想要实现父类,最简单的做法就是往子类对象里面聚合一个父类对象,然后让子类代理访问父类的接口。
然而随着面向对象的发展,…。
代码:
Office和WPS哪个好用些?
JetBrains 放弃 AppCode 是否是一个错误决定?
《魔兽世界》你记忆最深刻的饰品是哪个?
俄罗斯为什么宁愿死磕欧洲也不经营远东地区?
全平台应用框架会是趋势吗?flutter、tauri、maui你更看好哪一个?
程序员都在用什么显示器写代码?
如何干翻 Cloudflare?
LCD党真的只是少部分人吗?
为什么负荷那么大的腰部力量训练的人不会受伤,长期无载荷久坐的人会出现腰肌劳损?
如何评价近期开播的《长安的荔枝》?
有邻居的追求者出价三万,让我连续半个月每天找个女朋友晚上弄点动静,我该答应吗?
为什么不用rust重写Nginx?
美国投掷 6 枚钻地炸弹袭击伊朗福尔多核设施,钻地弹有多大杀伤力?能摧毁伊朗地下核设施吗?
特厨隋坡探店成都快餐店,给出80分以上的高分,为什么评分远高于大饭店?
为什么感觉中国这么多进食障碍(厌食或暴食)的女生?
马上领证了,发现男朋友离不了游戏,让他少打游戏他会非常生气,正常吗?
Mac mini M4,有必要升级24G内存吗?
GNOME 自带的输入法 iBus 是个怎样的存在?
中年女性如何保持身材?
外网测试同样的性能下的掌机安装steam os系统的性能比安装微软系统的帧率更强,原因是什么?
华为自研的仓颉编程语言将于 7 月 30 日开源,这款语言将如何影响未来的开发趋势?
为什么零知识证明(ZKP)领域的开源项目几乎都用Rust实现?
为什么 Mac 对游戏支持这么差?
如果第三次世界大战真的开始了,到时你最想做的是什么?
有谁现在正在使用苹果mac mini 吗?能分享一下使用感受不?
长沙申请全运会成功,未来几年会对长沙那些帮助,是否会加快长株潭融城以及经济发展?
华为红枫影像出来这么久了,为什么还没有友商跟进?是不是说明这是一项可有可无的技术?