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

说说has a与is a的区别?

时间:2020-12-14 13:44:14      阅读:5      评论:0      收藏:0      [点我收藏+]

标签:继承   区别   mes   rom   app   重写   通过   family   语义   

is a是典型的“一般到特殊”的关系,也就是典型的继承关系。例如Apple is a Fruit。那么Apple是一种特殊的Fruit,也就是说Apple继承了Fruit

has a是典型的“组合”关系。比如Wolf has a Leg,也就是Leg组合成了Wolf

需要指出的是:由于继承会造成了对父类的破坏,因此有时候可以通过组合来代替的继承。使用继承的好处:程序语义更好理解。坏处是:子类可能重写父类方法,不利于父类封装;使用组合则造成语义的混淆,但组合类不会重写被组合类的方法,因此更利于被复合类的封装。

说说has a与is a的区别?

标签:继承   区别   mes   rom   app   重写   通过   family   语义   

原文地址:https://www.cnblogs.com/programb/p/14068385.html

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