本节和大家一起来学习一下UML类图关系,UML类图中共有五种关系,这里和大家分享一下,相信本节的学习一定会让你有所收获。下面让我们一起来看一下UML类图关系的具体介绍吧。
UML类图关系
1.关联
表示方法为一条带箭头的直线。
2.聚合/组合
当类之间有整体-部分关系的时候,我们就可以使用组合或者聚合。UML类图关系中的组合表示方法为一条带箭头的直线+实心菱形,聚合表示方法为一条带箭头的直线+空心菱形。
聚合和组合都表示的是整体和部分的关系,但是在聚合中一个类可以离开另一个类而独立存在,(独立存在的意思是在某个应用的问题域中这个类的存在有意义。)。而组合却正好相反。
同时,需要说明的是,这种独立性并不是绝对的,需要看具体的语境和问题领域。例如在关心汽车的领域里,轮胎与汽车类是组合关系,因为它离开了汽车就没有意义了。但是在卖轮胎的店铺业务里,就算轮胎离开了汽车,它也是有意义的,这就可以用聚合了。
3.依赖
UML类图关系中依赖是指一个类A可能要用到另一个类B的一些方法,即,要完成A类里面的所有功能,一定有类B中的方法协助才可以。一般来说,双向的依赖是不允许的。表示方法带箭头的虚直线。
那依赖和聚合\组合、关联等有什么不同呢?
关联是类之间的一种关系,例如老师教学生,水壶装水等就是一种关系。这种关系是非常明显的,在问题领域中通过分析直接就能得出。
依赖是一种弱关联,只要一个类用到另一个类,但是和另一个类的关系不是太明显的时候(可以说是“uses”了那个类),就可以把这种关系看成是依赖,依赖也可说是一种偶然的关系,而不是必然的关系,就是“我在某个方法中偶然用到了它,但在现实中我和它并没多大关系”。例如我和锤子,我和锤子本来是没关系的,但在有一次要钉钉子的时候,我用到了它,这就是一种依赖,依赖锤子完成钉钉子这件事情。
组合是一种整体-部分的关系,在问题域中这种关系很明显,直接分析就可以得出的。例如轮胎是车的一部分,树叶是树的一部分,非常明显的整体-部分关系。
4.泛化(继承)
UML类图关系中的泛化,这种类与类之间的关系很好理解,即存在泛化关系,表示方法为一条直线+空心三角形。
5.实现
这是类与接口之间的关系,很好理解。表示方法为虚直线+空心三角形。
【编辑推荐】