文章目录
UML类图
一、类图概述
二、类图的作用
三、类图表示法
1. 类的表示方式
2. 类与类之间关系的表示方式
2.1 关联关系
2.2 聚合关系
2.3 组合关系
2.4 依赖关系
2.5 继承关系

2.6 实现关系

UML类图

一、类图概述

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

二、类图的作用

类图描述了系统的类的集合,类的属性和类之间的关系,可以简化了人们对系统的理解

三、类图表示法

1. 类的表示方式

在UML类图中,类使用包含类名、属性和方法且带有分割线的矩形来表示
比如下图表示一个Employee类,它包含name,age和address这3个属性,以及work()方法:
属性 / 方法名前的加号或减号表示访问修饰符,UML类图中表示访问修饰符的符号有三种:
+:表示public
-:表示private
#:表示protected
对于缺省,什么符号都不加
属性的完整表示方式是: 访问修饰符 名称 :类型 [ = 初始值]
方法的完整表示方式是: 访问修饰符 名称(参数列表) [ : 返回类型]
2. 类与类之间关系的表示方式
表示的是一个类中的对象和另一个类中的对象之间的关系,分为关联关系、聚合关系、组合关系
2.1 关联关系
关联关系又可以分为单向关联,双向关联,自关联。
1,单向关联
成员属性必须有所指向的类型
在UML类图中单向关联用一个带箭头的实线表示。上图表示每个顾客都有一个地址,这通过让Customer类持有一个类型为Address的成员变量实现。
2,双向关联
成员属性必须有所指向的类型
双向关联就是双方各自持有对方类型的成员变量。
在UML类图中,双向关联用一个不带箭头的直线表示。上图中在Customer类中维护一个List
3,自关联
成员属性必须有所指向的类型
自关联在UML类图中用一个带有箭头且指向自身的线表示。上图的意思就是Node类包含类型为Node的成员变量,也就是“自己包含自己”。
2.2 聚合关系
是整体和部分之间的关系。
聚合关系也是通过成员对象来实现的,其中成员对象是整体对象的一部分,但是成员对象可以脱离整体对象而独立存在。例如,学校与老师的关系,学校包含老师,但如果学校停办了,老师依然存在。
在 UML 类图中,聚合关系可以用带空心菱形的实线来表示,菱形指向整体。下图所示是大学和教师的关系图:
整体的成员属性包含部分的类型
部分的成员属性没有整体的类型
2.3 组合关系
组合关系表示类之间的整体与部分的关系,但它是一种更强烈的聚合关系。
在组合关系中,整体对象可以控制部分对象的生命周期,一旦整体对象不存在,部分对象也将不存在,部分对象不能脱离整体对象而存在。例如,头和嘴的关系,没有了头,嘴也就不存在了。
在 UML 类图中,组合关系用带实心菱形的实线来表示,菱形指向整体。下图所示是头和嘴的关系图:
2.4 依赖关系
在代码中,某个类的方法通过局部变量、方法的参数或者对静态方法的调用来访问另一个类(被依赖类)中的某些方法来完成一些职责。
在 UML 类图中,依赖关系使用带箭头的虚线来表示,箭头从使用类指向被依赖的类。下图所示是司机和汽车的关系图,司机驾驶汽车:
2.5 继承关系
是父类与子类之间的关系。
在 UML 类图中,继承关系用带空心三角箭头的实线来表示,箭头从子类指向父类。例如,Student 类和 Teacher 类都是 Person 类的子类,其类图如下图所示:
2.6 实现关系
实现关系是接口与实现类之间的关系。在这种关系中,类实现了接口,类中的操作实现了接口中所声明的抽象方法。
在 UML 类图中,实现关系使用带空心三角箭头的虚线来表示,箭头从实现类指向接口。例如,汽车和船实现了交通工具,其类图如图 9 所示。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/140117.html