没有合适的资源?快使用搜索试试~ 我知道了~
首页UML类图关系大全word文件
1、关联 双向关联: C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法。 在GOF的设计模式书上是这样描述的:虽然在分析阶段这种关系是适用的,但我们觉得它对于描述设计模式内的类关系来说显得太抽象了,因为在设计阶段关联关 系必须被映射为对象引用或指针。对象引用本身就是有向的,更适合表达我们所讨论的那种关系。所以这种关系在设计的时候比较少用到,关联一般都是有向的。 使用ROSE 生成的代码是这样的: class C1 ...{ public: C2* theC2; };
资源详情
资源评论
资源推荐

UML 类图关系大全
1、关联
双向关联:
C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法。
在 GOF 的设计模式书上是这样描述的:虽然在分析阶段这种关系是适用的,但我们觉得它对
于描述设计模式内的类关系来说显得太抽象了,因为在设计阶段关联关 系必须被映射为对象引
用或指针。对象引用本身就是有向的,更适合表达我们所讨论的那种关系。所以这种关系在设
计的时候比较少用到,关联一般都是有向的。
使用 ROSE 生成的代码是这样的:
class C1
...{
public:
C2* theC2;
};
class C2
...{
public:
C1* theC1;
};
双向关联在代码的表现为双方都拥有对方的一个指针,当然也可以是引用或者是值。
单向关联:
C3->C4:表示相识关系,指 C3 知道 C4,C3 可以调用 C4 的公共属性和方法。没有生命期的
依赖。一般是表示为一种引用。
生成代码如下:

class C3
...{
public:
C4* theC4;
};
class C4
...{
};
单向关联的代码就表现为 C3 有 C4 的指针,而 C4 对 C3 一无所知。
自身关联(反身关联):
自己引用自己,带着一个自己的引用。
代码如下:
class C14
...{
public:
C14* theC14;
};
就是在自己的内部有着一个自身的引用。
2、聚合/组合
当类之间有整体-部分关系的时候,我们就可以使用组合或者聚合。
聚合:表示 C9 聚合 C10,但是 C10 可以离开 C9 而独立存在(独立存在的意思是在某个应用

的问题域中这个类的存在有意义。这句话怎么解,请看下面组合里的解释)。
代码如下:
class C9
...{
public:
C10 theC10;
};
class C10
...{
};
组合(也有人称为包容):一般是实心菱形加实线箭头表示,如上图所示,表示的是 C8 被 C7
包容,而且 C8 不能离开 C7 而独立存在。但这是视问题域而定的, 例如在关心汽车的领域里,
轮胎是一定要组合在汽车类中的,因为它离开了汽车就没有意义了。但是在卖轮胎的店铺业务
里,就算轮胎离开了汽车,它也是有意义 的,这就可以用聚合了。在《敏捷开发》中还说到,
A 组合 B,则 A 需要知道 B 的生存周期,即可能 A 负责生成或者释放 B,或者 A 通过某种途径
知道 B 的生成和释 放。
他们的代码如下:
class C7
...{
public:
C8 theC8;
};
class C8
...{
};
可以看到,代码和聚合是一样的。具体如何区别,可能就只能用语义来区分了。
3、依赖
剩余10页未读,继续阅读

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0