目录
UML类图
UML概述
UML(统一建模语言)是一种主要由图形符号表达的建模语言,结构主要包括以下4个部分:
- 视图:UML视图用于从不同的角度来表示待建模系统.UML视图包括用户视图,结构视图,行为视图,实现视图和环境视图.
- 图:UML图是描述UML视图内容的图形,包括:用例图.类图.对象图.包图.组合结构图.状态图.活动图.顺序图.通信图.定时图.交互概览图.组件图.部署图.
- 模型元素:模型元素是指UML图中所使用的一些概念,它们对应于普通的面向对象概念.
- 通用机制:UML提供的通用机制为模型元素提供额外的注释,语义和其他信息.
类与类的UML表示
类
类封装了数据和行为.在系统中每个类都具有一定的职责.在定义类的时候将类的职责分解为类的属性和操作(方法).类的属性即类的数据职责,类的操作即类的行为职责.
类图使用出现在系统中的不同类来描述系统的静态结构,它用来描述不同的类以及它们之间的关系.
类的UML表示
在UML类图中,类一般由3部分组成.
- 类名:每个类都必须有名称,使用帕斯卡命名法.
- 类的属性:[可见性] 名称:类型 [ = 默认值 ] 可见性:+表示公有, -表示私有, #表示保护, *或~表示包(default),斜体表示抽象,_表示static,名称使用驼峰命名法.
- 类的操作:[可见性] 名称( [ 参数列表 ] ) [ : 返回类型 ] 可见性同上,名称使用驼峰命名法.参数列表多个参数用逗号隔开.构造方法无返回类型.
示例:
类之间的关系
类与类之间存在各种关系,对于不同类型的关系,UML提供了不同的表示方式:
- 关联关系
关联关系是一种结构化关系.
关联关系用于表示一类对象与另一类对象之间有联系,在UML中,关联关系的几种形式:
- 双向关联,表示关系是双向的,使用实线表示.
- 单向关联,表示关系是单向的,使用带箭头的实线表示.
- 自关联,使用带箭头的实线指向自身来表示.
- 多重性关联,又称重数性关联关系,表示两个关联对象在数量上的对应关系,在关联直线上使用一个数字或一个数字范围表示.
- 聚合关系,表示整体与部分的关系,成员对象是整体对象的一部分,成员对象可以脱离整体对象独立存在,是Has-A/Contains-A关系,用带空心菱形的直线表示.
- 组合关系,表示整体与部分的关系,整体对象可以控制成员对象的生命周期,一旦整体对象不存在,成员对象也将不存在.是Has-A关系.用带实心菱形的直线表示.
多重性表示方式表:
表示方式 | 多重性说明 |
---|---|
1..1 | 表示另一个类的一个对象只与该类的一个对象有关系. |
0..* | 表示另一个类的一个对象与该类的零个或多个对象有关系. |
1..* | 表示另一个类的一个对象与该类的一个或多个对象有关系. |
0..1 | 表示另一个类的一个对象没有或只与该类的一个对象有关系. |
m..n | 表示另一个类的一个对象与该类最少m,最多n个对象有关系(m<=n). |
- 依赖关系
依赖关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的其他事物,在需要表示一个事物使用另一个事物时使用依赖关系.在UML中,依赖关系使用带箭头的虚线表示,由依赖的一方指向被依赖的一方.
依赖关系通过3种方式实现
- 将一个类的对象作为另一个类中方法的参数.
- 在一个类的方法中将另一个类的对象作为其局部变量.
- 在一个类的方法中调用另一个类的静态方法.
- 泛化关系
泛化关系也就是继承关系,Is-A关系,用于描述父类与子类之间的关系,在UML中,泛化关系用带空心三角形的直线来表示.
- 实现关系
接口之间也可以有与类之间关系类似的继承关系和依赖关系,但是接口和类之间还有一种实现关系.在UML中,类与接口之间的实现关系用带空心三角形的虚线来表示.