继承
前面已经论述过,继承关系是一种纵向关系,是指基类和派生类之间的关系。
在UML图中用空心三角形表示。
关联
关联表示:一个类包含另一个类的成员的情况。是一种弱关系。
具体的理解它表示的是两种类的对象需不需要知道对方,如果只是一方需要知道另一方则这种关联又叫单项关联,如果两方均需要知道对方则这种关联叫双向关联。
聚合
聚合关系表示的是整体与部分的关系,使用空心菱形表示。一个类(假设A)属于另一个类(假设B)的一部分,但A并不控制B的生命周期,也就是说B可以脱离类A而存在,这一点要和组合关系相区别。
组合
组合也表示的是整体和局部的关系,使用实心菱形表示。一个类(假设A)属于另一个类(假设B)的一部分,但与聚合关系不同的是类A会控制类B的生存周期,也就是说类B并不能脱离类A而单独存在。
如图:人事部,市场部,后勤部都是公司的一部分,当公司都不存在的情况下,这些部门还有意义吗?
依赖
聚合和组合属于强关系,关联属于弱关系,而依赖则是最弱的关系。用虚线箭头表示。依赖关系表示一个类中的某个函数会用到另一个类的对象。
开车的方法用到了类车的对象。