类,其实在我们很久之前就已经接触过,类是对对象的抽象,是一种抽象的数据类型。
今天要学的是“类图”
1. 什么是类图?
类图(class diagram)是描述类,接口,协作以及他们之间关系的图,用来显示个各类的静态结构,静态图用于为软件系统进行结构建模
2.在uml图中类用什么来表示?
在uml中类使用包含类名、属性和操作且带有分割线的长方形来表示
如定义一个shape类:
在uml图中用一个三块的小矩形来表示类,
最上面是名字, 中间是属性,最下面是操作
属性(attribute): 类的属性是类的一个组成部分
【可见性】属性名【:类型】【=初始值】【属性字符串】
【】都是可选项
- 表示私有private的类型,+ 表示公用类为public类型, # 表示保护protected 类型
接口:
是一系列操作的集合,指定了一个类所提供的服务
也就是说接口包含操作但不包含属性,一个类可以实现一个或多个接口,且所有的都可以实现接口中的操作
3.类的关系:
名称 | 解释 | 表示图 |
双向关联 | 俩个类双方都知道对象的存在,都可以调用对方的公共属性和方法 | ![]() |
单向关联 | 1. 类的关联也可以是单向的,单向关联用带箭头的实现表示 | ![]() |
自关联 | 一个对象可以和另一个同类的对象有连接,即类可以与自身有关联 | ![]() |
聚合 | 整体\部分之间的关系 聚合关系强调的是“整体”包含“部分”,但是“部分”可以脱离“整体”存在 比如 大雁 和 雁群 ,雁群包含大雁,但是大雁脱离了雁群之后可以单独存在 |
|
组合 | 任然是整体与部分之间的关系,但部分不能离开整体而单独存在 组合关系和聚合关系的最大不同就是:“部分”脱离了“整体”便不复存在 | ![]() |
依赖关系 | 依赖是一种使用关系,它说明一个事物规格说明的变化可能影响到使用它的另一个事物,箭头指向被使用者 带箭头的虚线,指向被使用者 | ![]() |
泛化关系 | 泛化关系也就是继承关系,用于描述父类与子类之间的关系 同样分为单重继承 和 多重继承
| 单重继承: 多重继承: |
实现关系 |
实现是指规格说明和其现实之间的关系,他是一种模型元素与另一种模型元素连接起来可以用接口来实现 带三角箭头的虚线,箭头指向接口 |
重数性关联:
重数性关联关系又称为多重性关联关系,表示一个类的对象与另一个类的对象连接的个数
在uml图中多重性关系可以直接在关联直线上增加一个数字表示与之对应的另一个类的对象的个数
例子:
附加:
学生机房收费系统---类图, 这是第一次画可能有错,希望朋友们多多指点