中级软件设计师关于UML大题方面的知识总结
1)、——<黑>是组合。
2)、组合聚合关系是聚合关系的另一种形式,但是子类实例的生命周期
依赖于父类实例的生命周期。在图13中,显示了Company类和
Department类之间的组合关系,
注意组合关系如聚合关系一样绘制,不过这次菱形是被填充的。
在UML中,关联,依赖,聚集,组成的联系十分紧密,不容易区分,本文试图用通俗的语言来讲解这四种关系的区别。
关联,即是发生关系,一个类A关联类B,说明类A中的字段(或属性)中含有类B的实例链接(在C++中为指针),类B也可以关联类A,他们是对等的,没有主次之分。
依赖,类A依赖类B,说明类A中用到了类B,这个“用到”,比关联的程度更浅,比如,在局部变量(函数中的变量和函数参数)中用到了类B,也可能是类A用到了类B的静态函数。
聚集:聚集也是一种关联,但是对于关联来讲,关联的双方都是对等的,没有主次之分,在聚集中,则有主次之分,“主”的一方只能有一个。那计算机来说,“计算机”是一个对象,他就是“主”,而“硬盘”,“主板”,“显示器”等等则是“次”的一方,“硬盘”,“主板”,“显示器”聚集成“计算机”,他们只是聚集的关系,主板完蛋了,并不影响显示器,所以大家可以理解为聚集中的对象,即是一个整体,又各自独立。
组成:组成是一种特殊的聚集(那当然也是关联喽),拿桌子来说吧,桌子有桌面和桌腿组成,然桌面没有了或桌腿没有了,都不能称之为桌子,这个意思就是说,对于组成对象的个部分来讲,他们有一个有机的整体,不可分割的整体。桌子对象(主体对象)要负责桌面,桌腿(“次”对象,主次之分的“次”)的生命