参考自微笑刺客D:UML图例之类图.
泛化
泛化关系:设计上用空心箭头实线表示。
泛化的代码体现是继承父类。说明二者的关系是继承。
实现
实现关系:设计上用实心箭头虚线表示。
在代码中体现在接口和实现关系。
关联
关联关系:在代码中体现为类对象的单向访问(单向 关联) 和相互访问(双向关联)
1、单向关联:学生可以拥有书籍,学生知道书籍的存在,但是书籍无需知道学生的存在,学生可以拥有多本书籍,因此从学生指向书籍关联。设计上用箭头实线表示。
2、双向关联:学生知道老师的存在,老师知道学生的存在。设计上用实线表示。
关联关系常用于数据库表的设计,与数据库范式相对应。
聚合
聚合关系:特殊的关联关系,体现整体和部分的关系,设计上用空心菱形实线箭头表示。
部门不存在,员工仍然可以存在,员工离职,部门仍然存在。体现的是0和n,整体和部分,整体不存在,部分仍然可以存在。
代码的体现形式之一可以是员工类是部门类的一个属性。
或者说当A◇一>B , 代码体现是B是A的一个字段。
组合
组合关系:特殊的关联关系,和聚合关系类似,体现整体与部分关系,设计上用实心菱形实现箭头表示。
公司和部门关系体现在公司不存在,则部门也不存在了,前者掌握整体的生命周期。体现在0和0、1和n,整体不存在,则部分不存在,整体存在,则部分存在。
依赖
依赖关系:没有直接的关系,仅仅在代码运行期间,产生的依赖,如将A类中间的时间属性赋值到B类中的时间属性。A类中调用类中类型为B类的属性,A类中调用的方法,需要用到B类的信息等。设计上用箭头虚线表示。箭头指向方为被调用方。