首页 > 代码库 > 关联与依赖以及组合与聚合之间的区别

关联与依赖以及组合与聚合之间的区别

         最近在准备面试题,看到个问题是关联与依赖之间的关系,脑海里有印象,但还是比较模糊,百度了一番,将结果记录一下,以便后用。

         聚合是表示两个对象之间是整体和部分的弱关系,部分的生命周期可以超越整体,比如电脑与鼠标就是典型的聚合关系,用UML图表示如下:

        组合是表示两个对象之间是整体与部分的强关系,部分的生命周期不能超越整体,或者说部分不能脱离整体而单独存在,组合关系中的“部分”是不能共享的。人和眼睛就是典型的组合关系,用UML图表示如下:


       组合和聚合都是在一个类中包含另一个类的对象,形式上完全一样,他俩的本质区别就是“部分”的生命周期不同。

       关联可以简单的认为是一个类作为另一个类的属性。组合是一种特殊的聚合,聚合是一种特殊的关联。

      依赖一般是一个类作为另一个类的某一方法里局部变量或者实参。

尊重版权,转载请注明本文链接

                                      

                                           欢迎关注行者摩罗微信公众号(xingzhemoluo),共同交流编程经验,扫描下方二维码即可;                    

                                                                           

关联与依赖以及组合与聚合之间的区别