10集和11集主要讲的类图,我就放在一起说了
一、首先看类的概念
- 类图是以反映类的结构(属性、操作)以及类之间的关系为主要目的,描述了软件系统的结构,是一种静态建模方法;
- 类图中的类与面向对象语言中的类的概念是对应的,是对现实世界中的事物的抽象。
二、看下面这个类
Shape |
Origin |
Move() Resize() Display() |
类名是一定要有的,为了防止篇幅过大,属性或方法可以隐藏
下面看属性: 属性描述了静态信息
Rectangle |
Height:Float Width:Float isFilled:Boolean=false |
|
操作:
Rectangle |
|
Add() Move(x:Integer,y:Integer) isEmpty():Boolean |
类的表示:
Rectangle |
Height:Float Width:Float isFilled:Boolean=false |
Add() Move(x:Integer,y:Integer) isEmpty():Boolean |
Rectangle |
Height:Float Width:Float isFilled:Boolean=false |
|
Rectangle |
|
Add() Move(x:Integer,y:Integer) isEmpty():Boolean |
Rectangle |
|
|
Rectangle |
这五种方式都是可以的
当有这种情况
Rectangle |
-Height:Float -Width:Float -isFilled:Boolean=false |
+Add() +Move(x:Integer,y:Integer) +isEmpty():Boolean |
-表示private
+表示public
#表示protected
三、类图的关系
1、关联
a.普通关联,即有关系
单项关联
双向关联
两个类之间可以有多种关联
一个类可以和多个类关联
自身关联
一个类和自身发生关系
b、聚合和组合
聚合和组合在前面总结过,就不在这里再写一遍了,见http://blog.csdn.net/zjy15203167987/article/details/49556415
2、依赖关系
3、泛化关系
4、实现
实现是类元之间的语义关系,在该关系中一个类元描述了另一个类元保证实现的契约
类实现的是接口
四、应用于关联的修饰
1、名称(Association name):用以描述该关系的性质
2、角色(Role):当一个类处于关联的某一端时,该类就在这个关系中扮演了一个特定的角色;角色是关联中靠近它的一端的类对另外端的类呈现的职责。
3、多重性(Multiplicity):关联角色的多重性是说明一个关联实例中有多少个相互连接的对象
表示 | 含义 |
0..1 | 0个或1个 |
1 | 只能1个 |
0..* | 0个或多个 |
* | 0个或多个 |
1..* | 1个或多个 |
3 | 只能3个 |
0..5 | 0到5个 |
5..15 | 5到15个 |