类之间的关系:
实现:实现使用空心三角箭头加虚线,指的是接口被实现。
继承:继承使用的是空心三角箭头加实线,指的是子类继承父类。
依赖:依赖使用的是箭头加虚线,指的在一个类中指引到另一个类,常见的就是在本类中方法参数使用的是另一个类的对象。
关联:关联使用的是箭头加实线,其实指的就是在类中的成员变量的位置声明了另一个类的的对象,将这个对象作为成员变量使用(问题:局部变量位置声明的是否也是属于关联)
组合:组合使用的是箭头加上实心的菱形箭头,组合其实就是建立在关联的基础上的一种,但是两者之间不可分隔开独立存在,或者说独立存在没有任何的意义,就是一对一的存在,或者称为强聚合
聚合:聚合使用的是空心菱形箭头加上箭头,聚合其实也就是建立在关联的基础上的,其实就是两个类组合 可以独立的存在,非一对一关系
各个关系之间结合下图理解
图片来源: