UML把类之间分为以下5种关系:
关联:类A与类B之间存在特定对应关系(平等关系)
标:实线箭头
例:Customer与Order类的关系
public class Order{ private Customer customer; public Customer getCustomer{ return this.customer; } public void setCustomer(Customer customer){ this.customer = customer; } }
注:关联可分为一对一关联、一对多关联,多对多关联
依赖:类A访问类B提供的服务(使用关系)
标:虚线箭头
例:A调用B的方法或属性。A负责实例化B。
聚集:类A由类B的对象组合而成(组成关系)
标:菱形箭头
例:台灯与灯泡的关系,台灯不能没有灯炮(弱聚集)。
注:聚集可分为:强聚集、弱聚集
强聚集:又叫做组合、实心菱形
【聚合关系】:是整体与部分的关系,但部分不能离开整体而单独存在。如公司和部门是整体和部分的关系,没有公司就不存在部门。
弱聚集:又叫做聚合、空心菱形
【聚合关系】:是整体与部分的关系,且部分可以离开整体而单独存在。如车和轮胎是整体和部分的关系,轮胎离开车仍然可以存在。
泛化:类A继承类B
标:实线三角形
实现:类A实现了B接口
标:虚线三角形
注:参考自 孙卫琴《Java面向对象编程》