UML的常用关系是:1、关联关系(Association);2、聚合关系(Aggregation);3、组合关系(Composition);4、依赖关系(Dependency);5、继承关系(Inheritance)。
一、UML的常用关系
1、关联关系(Association)
关联关系是指不同类之间的联系,它表示一个类对象与另一个类对象之间的引用关系,通常用一条直线表示。关联关系分为双向关联和单向关联,其中双向关联表示两个类互相引用,而单向关联表示只有一个类引用另一个类。
关联关系是对象之间的引用关系,它强调的是对象之间的互动关系,不同于继承关系的继承性和约束性。双向关联和单向关联的区别在于引用关系的方向性,单向关联表示只有一个方向的引用,而双向关联则表示互相引用。
2、聚合关系(Aggregation)
聚合关系是指一个对象包含另一个对象,但是这两个对象之间不具备相同的生命周期,通常用一条带空心菱形的直线表示,菱形表示整体,直线表示部分。
聚合关系是弱的整体与部分关系,整体和部分可以有不同的生命周期。例如,汽车和车轮之间就是聚合关系,因为车轮可以独立存在,而汽车的生命周期比车轮要长。
3、组合关系(Composition)
组合关系是指一个对象包含另一个对象,但是这两个对象之间具有相同的生命周期,通常用一条带实心菱形的直线表示,菱形表示整体,直线表示部分。
组合关系是强的整体与部分关系,整体和部分具有相同的生命周期,整体被销毁时,部分也会被销毁。例如,电脑和硬盘之间就是组合关系,因为硬盘的生命周期与电脑是相同的。
4、依赖关系(Dependency)
依赖关系是指一个类的实现依赖于另一个类,如果一个类的变化会影响到另一个类,则表示它们之间存在依赖关系,通常用一条带箭头的虚线表示,箭头指向依赖的类。
依赖关系是一个类使用另一个类的接口,而不是直接与另一个类交互,依赖关系是一种使用关系而非继承或组合关系。例如,电脑使用键盘和鼠标时就存在依赖关系,因为电脑只是使用键盘和鼠标提供的接口,而不会直接与键盘和鼠标交互。
5、继承关系(Inheritance)
继承关系是指一个类(子类)继承另一个类(父类)的特性,包括属性和方法等,通常用一条带空心箭头的直线表示,箭头指向父类。
继承关系是一种类之间的层次关系,子类可以继承父类的属性和方法,同时还可以定义自己的属性和方法。例如,狗和猫都是动物,它们之间就存在继承关系,因为狗和猫都可以继承动物类的属性和方法。