关联与依赖以及组合与聚合之间的区别
最近在准备面试题,看到个问题是关联与依赖之间的关系,脑海里有印象,但还是比较模糊,百度了一番,将结果记录一下,以便后用。 聚合是表示两个对象之间是整体和部分的弱关系,部分的生命周期可以超越整体,比如电脑与鼠标就是典型的聚合关系,用UML图表示如下: 组合是表示两个对象之间是整体与部分的强关系,部分的生命周期不能超越整体,或者说部分不能脱离整体而单独存在,组合关系中的“部分”是不能共享的。人和眼睛就是典型的组合关系,用UML图表示如下:
组合和聚合都是在一个类中包含另一个类的对象,形式上完全一样,他俩的本质区别就是“部分”的生命周期不同。 关联可以简单的认为是一个类作为另一个类的属性。组合是一种特殊的聚合,聚合是一种特殊的关联。 依赖一般是一个类作为另一个类的某一方法里局部变量或者实参。 尊重版权,转载请注明本文链接
欢迎关注行者摩罗微信公众号(xingzhemoluo),共同交流编程经验,扫描下方二维码即可; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |