generalization 泛化:A类扩展了B类,则A类与B类是扩展关系。
说明A类是B类所代表类型的一个分类,A类的职责在B类职责范围内或A类职责是对B类职责的扩展。
realization 实现:A类实现了接口B,则A类与B类是实现关系。
说明 B类声明了功能,A类是B类的具体实现。
dependency依赖:A类是B类的方法参数、局部变量或B类引用了A类的静态方法,则B类依赖A类。
依赖是一种弱的关联关系。
说明B类短暂的使用的A类,B类不需要保持A类的状态。
association关联:A类是B类的成员变量,则A类与B类是关联关系
说明B类的多个方法中需要使用A类同一个实例,或A类的实例状态对B类是有用的,需要长期保持。
aggregation聚合:A类是B类的属性或是集合类属性,且A类是B类完整性不可缺少的一部分。
A类可以独立存在,也可以与其它类有关联关系。
聚合是一种较强的关联关系,体现了整体与部分之间的关系。
如:学生属于班级,而学生又属于某个家庭,学生自己会跑会跳。
composition组合:A类是B类的属性或是集合类属性,且A类是B类完整性不可缺少的一部分,A类只属于B类,A脱离B类而独立存在是没有意义的。
组合 是比聚合更紧密的关联关系。