因为继承关系粒度太粗,它实际上可以并有必要拆分成三个关系。
当我们让子类继承了父类时,我们相当于: 行为上,让子类作为父类的代理。
数据上,让子类对象聚合了一个父类对象。
多态上,让子类作为父类的实现。
当面向对象刚刚兴起的时候,大家觉得三种关系可以合并成继承关系,这是很自然的。
毕竟,子类想要实现父类,最简单的做法就是往子类对象里面聚合一个父类对象,然后让子类代理访问父类的接口。
然而随着面向对象的发展,…。
{dede:pagebreak/}
怎么才能有尤雨溪一半强,该怎么学习?
鱼缸长这种藻是什么藻?是好是坏?
理论上flutter性能应该非常高才对,为什么好些flutter应用性能一般?
为什么我觉得中国很谦虚,甚至有时候感觉中国对其他国家过分宽容,外国人却认为中国是列强呢?
你最真实(很少吐露)的择偶标准是什么?
印度是真的烂还是咱们在信息茧房里面?
你有哪些对未来的预测?
为什么中国主机带宽比美国贵5倍(原来错误的10000倍),比如阿里云?
你在健身房发生过什么有趣的事情?
Vue性能优于React,那为什么还不用Vue?
TVB的哪些「神剧」放到今天看,同样会让人直呼精彩?
做客孩子临走时带走几只玩具,我的孩子抗拒并一直哭,要怎么开导?
为什么有些门开关时特别容易夹手?背后的设计缺陷可能有哪些?
Rust 使用 Result 的错误处理方式与 Golang 使用 error 的方式有什么本质区别?
如果全球都停止出口粮食,中国能否自给自足?
有一个乌克兰的朋友问我,中国人凭什么能享受和平,我该怎么说?