1.依赖关系
假设有两个类A和B。其中A的某个成员方法的参数有类B,说明类A使用了类B,类A依赖类B。A是依赖方,B是被依赖方。
除此之外,若B作为A依赖方的返回值存在,这也是依赖关系。
在UML中,表示类之间的依赖关系,用虚线箭头表示,由依赖方指向被依赖方。
2.关联关系
关联关系是一种强依赖关系 ,假设有两个类A和B,类B作为A的成员变量存在,类A也可以为类B的成员变量存在,若互为成员变量存在则为双向依赖,否则为单向依赖。
关联关系和依赖关系的差别在于,依赖关系中类B存在成员方法中,若不调用成员方法,则A和B就没有关系。而关联关系中类B作为A的成员变量存在,无论是否调用成员方法,只要创建了A,A和B就有关系存在。
在UML中,表示类之间的关联关系,用实线箭头或实线表示。
3.聚合关系
聚合关系和关联关系类似,都体现在成员变量上,它们的区别在于:关联关系双方是平等的,是个体和个体的关系。聚合关系双方不是平等的,是整体和部分的关系。
在UML中,表示类之间的聚合关系,用菱形实线表示。
4.组合关系
组合关系是一种强聚合关系,组合关系与聚合关系的区别在于:聚合关系中的部分离开整体仍然可以存活,组合关系中的部分离开整体就失去了意义。例如:人由四肢和身体等部分组成,它们的关系为组合关系。