【内容】
1.类和类图
类:是对对象的抽象,具有相似结构、行为和关系的一组对象的描述符。类的图示如下
类图(class diagram)是描述类,接口,协作以及他们之间关系的图,类图主要用于描述系统的静态结构。
类和类图的关系:
在UML图中,类加上他们之间的关系就构成了类图。
2类图的构成:类、接口、协作、关系
用来描述系统的静态部分。
接口:是一系列操作的集合,方法的抽象的定义,指定了一个类所提供的服务。
关系:关联、依赖、泛化、实现
3.类图的关系
关系名称 | 含义 | 图示 |
关联(普通关联) | 类和类之间最普遍存在的一种关系。 | |
关联(单向关联) | 学生使用单放机。 | |
关联(双向关联) | 两个类的属性中互相拥有对方。 | |
关联(自关联) | 一个对象可以与另一个同类的对象有连接(Link),即类可以与自身有关联。 | |
关联(聚合) | 整体/部分之间的关系。 整体包含部分,部分离开整体也可以存在。 空心菱形表示聚合关系。 | |
关联(组合) | 整体/部分之间的关系,但部分离开整体而不复存在。 | |
聚合和组合 | 比较: 聚合中部分可以单独存在,组合中的部分不能单独存在。 | |
依赖 | 依赖是一种使用关系。它说明一个事物规格说明的变化可能影响到使用它的另一个事物。但反之未必。 | |
泛化(继承关系) | 类和类之间的继承关系。 | |
泛化(单重继承) | 子类有且只有一个父类。 | |
泛化(多重继承) | 一个类有两个或两个以上的父类 | |
实现 | 类元之间的语义关系,在该关系中一个类元描述了另一个类元保证实现的契约。 | |
4.类图深入讨论
(1)可见性(Visibility)
在使用Rational Rose中,建模时使用小图标表示如下:
手工绘制UML类图时,可见性表示如下:
名称 | 符号 |
Public | + |
Private | - |
Protected | # |
Package | ~ |
(2)属性(Attributes)
[可见性] 属性名 [:类型] [=初始值] [{属性字符串}]
(3)操作(Operations)
[可见性] 操作名 [(参数表)] [:返回类型] [{属性字符串}]
(4)范围(Scope)
每个实例自己拥有自己的属性和方法。
静态成员:对一个类的所有实例共享一个成员。
下划线:表明该成员是一个静态成员。
(5)模板类(Template Classes)
(6)实用类(Utility Classes)
5.机房收费系统类图
举例说明:
有些地方可能不是很恰当,望指点!感谢!