码迷,mamicode.com
首页 > 其他好文 > 详细

白话我对“多用组合,少用继承”的理解

时间:2021-06-07 21:13:20      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:理论   作用   抽象方法   而不是   根据   应用   协议   继承   特性   

以鸟类为例,假设有个父类 bird,这个父类有个 fly 的抽象方法。

如果用继承,那就默认所有鸟类都会飞。但根据“黑天鹅”理论,并不是所有的鸟类都会飞。

这时候使用组合的话,就等于乐高拼搭。我这只鸟如果会飞,就把 fly 这个方法积木拿过来搭上。

当然就像标题写的,“多用”组合,“少用”继承,而不是“全用”组合,“不用”继承,千万别钻牛角尖,继承它的“协议”特性还是有很大作用的,因此具体还是要看应用场景。

白话我对“多用组合,少用继承”的理解

标签:理论   作用   抽象方法   而不是   根据   应用   协议   继承   特性   

原文地址:https://www.cnblogs.com/yinyuxing/p/14859704.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!