您的位置:首页 > 其它

UML类图关系全面剖析(转)

2008-01-09 09:41 218 查看
本文随便转载,请保留出处:http://blog.csdn.net/dylgsy/

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类图的这些关系,也值得了。:)

补注1:
关联关系(association)描述了给定类的对象个体之间的语义连接。关联提供了不同交互对象间的连接。剩余的关系则相关于分类本身的描述,而非它们的实例。

摘自:The Unified Modeling Language Reference Manual

By James Rumbaugh, Ivar Jacobson, Grady Booch

Interpreted by Adams Wang

所以说,如果没有对象,那么就没有关联关系。在程序中,如果只是调用了类的静态方法,而没有产生这个类的实例,那么这两个类的对象之间就没有关联关系。但是这两个类之间是有依赖关系的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: