UML中类之间的六种主要关系
UML中类之间的六种主要关系: 继承(泛化)(Inheritance、Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。
继承关系(泛化关系)(Inheritance):
描述:继承关系表示一个类派生自另一个类,继承关系用一条带空三角箭头的实线表示。子类继承了父类的属性和方法,并可以添加新的属性和方法。
示例:动物类继承自生物类,具备生物的属性和方法,并可以添加动物独有的属性和方法。
体现:子类继承父类。
符号:一条实线+空心箭头。
实现关系(Realization):
描述:实现关系表示一个类实现了一个接口,通常用一条带空三角箭头的虚线表示。接口定义了一组方法,而类实现了这些方法。
示例:一个类实现了图形接口,必须实现接口中定义的绘制图形的方法。
体现:实现接口或继承某个抽象类。
符号:一条虚线+空心箭头。
组合关系(Composition):
描述:组合关系也是整体与部分之间的关系,但在组合关系中,整体对象负责创建和管理部分对象的生命周期。它通常用一条带实心菱形的实线表示。
示例:计算机与CPU之间的组合关系,计算机包含CPU,且CPU的生命周期由计算机管理。
体现:成员变量。
符号:一条实线+实心菱形。
聚合关系(Aggregation):
描述:聚合关系是一种特殊的关联关系,表示整体与部分之间的关系,其中整体对象包含部分对象。它通常用一条带空心菱形的实线表示。
示例:车辆与引擎之间的聚合关系,车辆包含引擎,但引擎也可以存在独立于车辆。
体现:成员变量。
符号:一条实线+空心菱形。
关联关系(Association):
描述:关联关系表示类之间的连接,通常用一条实线连接类之间的名称。它指示两个类之间存在某种关联,但不提供关于关联性质的详细信息。
示例:学生与课程之间的关联,一个学生可以选择多门课程,一门课程也可以有多名学生。
体现:成员变量。
符号:双向关联: 一条实线 或 一条实线+两个箭头;单向关联: 一条实线+一个箭头。
依赖关系(Dependency):
描述:依赖关系表示一个类依赖于另一个类,通常在一个类中使用另一个类的对象或方法。它通常用一条虚线箭头连接依赖者和被依赖者。
示例:一个订单类依赖于客户类以获取客户信息。
体现:局部变量、方法的参数和静态方法的调用。
符号:一条虚线+箭头。