自学内容网 自学内容网

【UML】类图及其六种关系,超详细介绍,细节满满

目录

一、概念

推荐一个画UML相关图的软件:ProcessOn

二、快速介绍类图

1、普通类的类图

2、抽象类的类图

3、接口的类图

三、类与类之间的关系

(一)、关联关系

1、单向关联

2、双向关联

3、自关联

(二)、聚合关系(强关联)

1、一对多:学校和学生

2、一对一:汽车和某个零件

(三)、组合关系(强聚合)

(四)、依赖关系

(五)、继承关系(也叫泛化关系)

(六)、实现关系


一、概念

类图显示了模型中存在的类的内部结构以及它们与其他类的关系。

类图是面向对象建模的主要组成部分,简化人们对系统的理解。

类图是系统分析和设计阶段的重要产物。

推荐一个画UML相关图的网站:ProcessOn

二、快速介绍类图

1、普通类的类图

在UML类图中。类使用包含类名、属性(成员变量)、方法且带有分割线的矩形来表式,如下图:表示名字为MyClass的,包含ID、name、age这3个属性,myName、myID、myAge这三个方法。

其中 :

 " : "后面是属性的类型或方法的返回类型。

方法名后面()里面是参数列表。

访问权限:

+:表示public

-:表示private

#:表示protect

2、抽象类的类图

与普通类不同的是,抽象类的类名和方法都用斜体表示:

有时为了更加容易区分,我们可以将实线方框换做虚线方框。

3、接口的类图

接口类图与上述区别:接口名和属性用斜体表示,因为接口主要是抽象方法,所以可以不写属性一栏,即方框里面只写两行内容。

三、类与类之间的关系

(一)、关联关系

关联关系是对象之间的一种引用关系,用于表示一类对象与另一类对象之间的联系,如老师和学生学生和课程等。关联关系是类与类之间最常用的一种关系,一般引用的对象,会作为另外一个类的成员变量来使用。关联关系分为一般关联关系、聚合关系和组合关系。一般关联又可以分为单向关联,双向关联,自关联。

1、单向关联

即一个类的对象作为另一个类的成员(部分和整体),那么两个类就具有单向关联的关系。用一个带箭头的实线表示。由整体指向部分,这里学校就是一个整体

2、双向关联

即两个类的对象互相作为对方的成员变量,用一条不带箭头的实现表示

3、自关联

即自己作为自己的成员(如链表就有类似的实现),用一个带有箭头的线且指向自己表示

(二)、聚合关系(强关联)

1、一对多:学校和学生

聚合关系是关联关系的一种, 是强关联关系,是整体和部分之间的关系。聚合关系也是通过成员对象来实现的,其中成员对象是整体对象的一部分,但是成员对象可以脱离整体对象而独立存在。用一条线一头是个空心菱形表示,一指向多,例如,一个学校可以有多个学生,所以是学生指向箭头。

2、一对一:汽车和某个零件

与一对多区别是:整体和部分变成一对一,如果汽车只包含某一个零件,此时汽车和该零件就是一种一对一聚合关系。用的线和一对多一样,是从部分指向整体(零件指向汽车)

注意:这里也可以画成单向关联关系,因为聚合关系本身就是一种关联关系,但是当关联属性较强时,就用聚合更合适。

(三)、组合关系(强聚合)

组合:表示类之间的整体与部分的关系,但它是一种更强烈的聚合关系。在组合关系中,整体对象可以控制部分对象的生命周期,一旦整体对象不存在,部分对象也将不存在,部分对象不能脱离整体对象而存在。例如,订单表与订单项的关系,如果订单表不存在,订单项也不存在了。

UML类图中,组合关系用带实心萎形的实线来表示,菱形指向整体

(四)、依赖关系

依赖关系:是一种使用关系,它是对象之间耦合度最弱的一种关联方式,是临时性的关联。在代码中,某个类的方法通过局部变量方法的参数或者对静态方法的调用来访问另一个类(被依赖类)中的某些方法来完成一些职责。在UML类图中,依赖关系使用带箭头的虚线来表示,箭头从使用类指向被依赖的类

如下,人画正方形:正方形类对象作为人类中方法的参数。

(五)、继承关系(也叫泛化关系)

继承关系:是对象之间耦合度最大的一种关系,表示一般与特殊的关系,是父类与子类之间的关系,是一种继承关系。在UML类图中,泛化关系用带空心三角箭头的实线来表示,箭头从子类指向父类。例如,Student 类和Teacher类都是Person类的子类,其类图如下图所示:

(六)、实现关系

实现关系:是接口与实现类之间的关系。在这种关系中,类实现了接口,类中的操作实现了接口中所声明的所有的抽象操作。在UML类图中,实现关系使用带空心三角箭头的虚线来表示,箭头从实现类指向接口(继承是实线空心三角箭头,实现是虚线空心带三角箭头)。例如,鼠标和键盘实现了USB接口,如图所示:


原文地址:https://blog.csdn.net/hffh123/article/details/143725201

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!