C++编程失乐园

致力于解决论坛的不足,探讨C++的原理

UML随笔 之 类图描述

A.        类图

类图 用矩形框 表示, 性和操作分 列在分格中,若不需要表 达详细 信息 ,分格可以省略。

类间关

类图 中,除了需要描述 单独 的名 性和操作外,我 们还 需要描述 系,因 为没 单独 存在的, 它们 通常需要和 类协 作, 造比 单独 工作更大的 语义 。在UML 类图 中, 系用 框之 连线来 表示, 连线 上和 连线 头处 的不同修 符表示不同的 系。 系有 承(泛化)、 关联 、聚合和 合。

1.        承:指的是一 个类 称为 承另外的一 个类 称为 )的功能, 增加 自己的新功能的能力, 承是 类与类 最常 系。 类图 承的表示方法是 拉出一 条闭 合的、 单键头 (或三角形)的 实线 指向基 。例如, 3.2 出了MFC中CObject 和菜 单类 CMenu的 系。

承在C++中呈 现为

class B { }
class A : public B{ }

2.        关联 :指的是模型元素之 的一 种语义联 系,是 的一 很弱的 系。 关联 可以有方向,可以是 关联 ,也可以是 关联 。可以 给关联 加上 关联 描述 关联 的作用。 关联两 端的 也可以以某 角色 参与关联 ,角色可以具有多重性,表示可以有多少 个对 参与关联 。可以通 过关联类进 一步描述 关联 性、操作以及其他信息。 关联类 条虚线与关联连 接。 关联 可以加上一些 束,以加强 关联 的含
 
关联 C++中呈 现为

class A{...}
class B{ ...}
A::Function1(B &b) //或A::Function1(B b) //或A::Function1(B *b)

即一 个类 另一 个类 方法的 参数

3.        聚合:指的是整体 部分的 系。通常在定 整体 后,再去分析 这个 整体 结构 而找出一些 整体 就形成了聚合 系。例如一 航母 编队 包括海空母 驱护舰 艇、 舰载飞 机及核 力攻 潜艇等。需求描述中“包含”、“ ”、“分 …部分”等 常意味着聚合 系。

4.        合:也表示 整体和部分的 系,但是 系中部分和整体具有 一的生存期。一旦整体 象不存在,部分 象也 不存在。部分 整体 象之 具有共生死的 系。

聚合和 合的 区别 在于:聚合 系是“has-a” 系, 系是“contains-a” 系;聚合 系表示整体 部分的 系比 弱,而 合比 强;聚合 系中代表部分事物的 代表聚合事物的 象的生存期无 ,一旦 除了聚合 象不一定就 除了代表部分事物的 象。 合中一旦 除了 象,同 也就 除了代表部分事物的 象。

C++ 言中, 从实现 的角度 ,聚合可以表示

class A {...}
class B { A* a; .....}

B包含 A的指

合可表示

class A{...}
class B{ A a; ...}

B包含 A的 象。

准确的UML 类图 中用空心和 心菱形 聚合和 行了 分。

B.       

图显 示某 象和 象之 系,是 类图 化,一 个对 可看成一 个类图 的示例(example), 表示的是 例而不是 真实 。由于 象存在生命周期,因此 只能在系 某一 时间 段存在。

无新的表示法(除了 象名下要加下 划线 以外), 与类图 中的表示法一 ,可以 认为 ,只有 象而无 类图 就是一 ”。
 
 
中, 象名可以有三 表示形式:

1) 象名:

2):

3) 象名

”看作 类图 ,把 爱国 ”看作 ,很明 就是 类图 的一 example而已。

posted on 2007-01-21 12:36 木木头 阅读(860) 评论(0)  编辑 收藏 引用 所属分类: UML工程


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理


导航

<2007年1月>
31123456
78910111213
14151617181920
21222324252627
28293031123
45678910

统计

常用链接

留言簿(3)

随笔分类(29)

搜索

最新随笔

最新评论