您的位置:首页 > 编程语言

Rose与UML类图关系与生成代码剖析

2012-11-09 22:03 316 查看
(转载)UML类图关系全面剖析

类之间的关系:

1、关联:类A有类B的指针或者引用作为其成员。类A可以使用类B公用的方法和属性

2、聚合/组合:类A中有类B作为其成员,类B可以独立存在成为聚合。类B不能独立促在成为组合

3、依赖:类A要使用类B中的一些方法,类A的头文件中包含类B的头文件。

4、泛化:继承关系

UML的类图关系分为: 关联、聚合/组合、依赖、泛化(继承)。而其中关联又分为双向关联、单向关联、自身关联;下面就让我们一起来看看这些关系究竟是什么,以及它们的区别在哪里。

1、关联

class C1

class C2

class C3

class C4

class C14

class C9

class C10

class C7

class C8

// C5.h

#include "C6.h"

class C5

// C6.h

#include "C5.h"

class C6

虽然ROSE不生成属性,但在形式上一般是A中的某个方法把B的对象作为参数使用(假设A依赖于B)。如下:

#include "B.h"

class A

#include "C11.h"

class C12 : public C11

template<int>

class C13

这里再说一下重复度,其实看完了上面的描述之后,我们应该清楚了各个关系间的关系以及具体对应到代码是怎么样的,所谓的重复度,也只不过是上面的扩展,例如A和B有着“1对多”的重复度,那在A中就有一个列表,保存着B对象的N个引用,就是这样而已。

好了,到这里,已经把上面的类图关系说完了,希望你能有所收获了,我也费了不少工夫啊(画图、生成代码、截图、写到BLOG上,唉,一头大汗)。不过如果能让你彻底理解UML类图的这些关系,也值得了。:)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: