因为继承关系粒度太粗,它实际上可以并有必要拆分成三个关系。
当我们让子类继承了父类时,我们相当于: 行为上,让子类作为父类的代理。
数据上,让子类对象聚合了一个父类对象。
多态上,让子类作为父类的实现。
当面向对象刚刚兴起的时候,大家觉得三种关系可以合并成继承关系,这是很自然的。
毕竟,子类想要实现父类,最简单的做法就是往子类对象里面聚合一个父类对象,然后让子类代理访问父类的接口。
然而随着面向对象的发展,…。
{dede:pagebreak/}
做一个中国的微软到底有多难?
为什么苹果公司无法制造出性价比高的 Mac 电脑?
儿子抑郁四年左右了,他的未来该怎么办?
什么时候你开始发现俄罗斯不过如此?
目前最具性价比的全栈路线是啥?
为什么不用rust重写Nginx?
黄晓明上戏考博落榜,本人回应「明年再战」,怎样看明星对高学历的追求?上戏博士有多难考?
韦东奕的牙怎么没了?
能不能通过养殖方法,把淡水鱼身上***除掉?然后再售卖做刺身,超级爱吃刺身,很害怕寄身虫?
男人的快乐有多简单?
新手养鱼,鱼缸中能放入哪些水草?
你卡过最厉害的bug是什么?
Flutter 为什么没有一款好用的UI框架?
现在已经有5K、6K、8K分辨率显示器,那么8K之后是什么?
锻炼腰肌的经典动作有哪些?
MongoDB的缺点以及你为什么不使用MongoDB?