一、依赖关系(Dependency)
假设A类的变化引起了B类的变化,则说明B类依赖于A类。
依赖关系是一种使用关系,特定事物的改变可能会影响到使用该事物的其他事物,在需要表示一个事物使用另一个事物时使用依赖关系。
- A类时B类中的(某方法中的)局部变量。
- A类是B类方法中的一个参数。
- A类向B类发送消息,从而影响B类发生变化。
A类使用到了另一个B类,而这种使用关系是具有偶然性、临时性、非常弱的。但B类的变化会影响到A类。
二、关联关系(Association)
关联关系是类与类之间最常用的一种关系,是一种结构化关系,用于表示一类对象与另一类对象之间有联系。
关联关系表示两种类的实例建的关系,如果一个类的实例必须要用到另一个类的实例才能完成工作时就要用到关联。
在UML类图中,用实线连接有关联的对象所对应的类,在实现关联关系时,通常将一个类的对象作为另一个类的属性。
在使用类图表示关联关系时可以在关联线上标注角色名。
关联关系是一种强依赖关系,不存在依赖关系的偶然性、关系也不是临时的,一般是长期性的,而双方的关系一般是平等的。表现在代码层面,为被关联B类以A类的属性的形式出现在A类中。
1.双向关联:默认情况下,关联是双向的
2.单项关联:单项关联用带箭头的实线表示
3.自关联:一些类的属性对象类型为该类本身,这种特殊的关联关系称为自联。
4.多重性
1..1
0..*
1..*
0..1
m..n
一个Form可以包含0个或多个(0..*)Button
一个Button只能在一个(1..1)Form中
三、聚合关系(Aggregation)
聚合关系表示的是整体和部分的关系,整体和部分可以分开。
四、组合关系(Composition)
整体与部分的关系,整体与部分不可以分开。