标签:理论 作用 抽象方法 而不是 根据 应用 协议 继承 特性
以鸟类为例,假设有个父类 bird
,这个父类有个 fly
的抽象方法。
如果用继承,那就默认所有鸟类都会飞。但根据“黑天鹅”理论,并不是所有的鸟类都会飞。
这时候使用组合的话,就等于乐高拼搭。我这只鸟如果会飞,就把 fly
这个方法积木拿过来搭上。
当然就像标题写的,“多用”组合,“少用”继承,而不是“全用”组合,“不用”继承,千万别钻牛角尖,继承它的“协议”特性还是有很大作用的,因此具体还是要看应用场景。
标签:理论 作用 抽象方法 而不是 根据 应用 协议 继承 特性
原文地址:https://www.cnblogs.com/yinyuxing/p/14859704.html