您的位置:首页 > 其它

UML类图关系解析(zt)

2008-10-19 12:20 330 查看
参见了一次面试,其中一个面试的题目是关于UML的,题目是:UML图中的类图有哪些关系,他们之间有什么区别和联系?。如:书包装书,和书包装衣服,这里的书包和书,以及书包和衣服,这2个类之间是什么样的关系?

由于对UML类图理解得不够深入,回答得不是那么令人满意,这里我转载的一篇文章是关于UML类图关系的,个人感觉比较有用,先分享出来供朋友们参考,也便与自己进一步学习。另外感谢作者无私奉献的精神。

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

原文地址: http://blog.csdn.net/dylgsy/archive/2006/08/16/1076044.aspx 非常感谢.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: