Bootstrap

JAVA学习笔记 - 类之间的关系及UML图示例【泛化】【实现】【关联】【聚合】【组合】【依赖】

一、泛化关系(is a)

也就是继承关系。如在系统设计中描述为:Cat is a Animal。
泛化关系UML图

二、实现关系(is like a)

也就是一个类实现一个接口。 如:像神一样的男人(Man is like a God)------> Class Man implements Interface God
实现关系UML图

三、关联关系(has a)

A中有B,A has a B;即在A类中,存在B类型对象作为A类中的实例变量(如下图代码示例)
关联关系UML图

四、聚合关系

聚合关系是一种特殊的“关联关系”,指的是一个类包含或者拥有另一个类的实例,而这个实例是可以独立存在的。聚合关系是一种弱关联关系,表示整体与部分之间的关系。例如:一个教室有多个学生。

  • 空心菱形指向整体
    聚合关系UML图

五、组合关系(Composition)

组合关系也是一种特殊的“关联关系/聚合关系”,表示整体与部分之间的关系更加强烈。组合关系指的是一个类包含或拥有另一个类的实例,而这个实例只能同时存在于一个整体对象中。如果整体对象被销毁,那么部分对象也会被销毁。例如:一个人对应四个肢体。

  • 实心菱形指向整体
    组合关系UML图

六、依赖关系(Dependency)

依赖关系是一种临时性的关系,当一个类使用另一个类的功能时,就会产生依赖关系。如果一个类的改变会影响到另一个类的功能,那么这两个类之间就存在依赖关系。依赖关系是一种较弱的关系,可以存在多个依赖于同一个类的对象。例如:A类中使用了B类,但是B类作为A类的方法参数或者局部变量等。

  • 虚线的箭头指向被依赖类
    依赖关系UML图
;