对另一端的类呈现的职责。当一个类处于 关联的某一端时,该类就在这个关系中扮 演了一个特定的角色。 2)多重性:在关联的另一端的类的每个对 象要求在本端的类必须有多少个对象。
25
关系之二:关联(续二)
例如下图: 一个人对公司来讲的角色是employer,而公司
对于人来讲的角色是employee; 一个人只能就职于一家公司,但一家公司会有
ClassB
30
关系之二:关联(续七)
组合是一种更强形式的关联,整体与部分之间具有强 的拥有关系,整体与部分的生命周期是一致的。画成 一端为实心菱形的实线。组合类包含另一个类实例。
class ClassA {
ClassB the_class_b;
};
class ClassB {
ClassA *the_class_a;
够使用这个特性,用"-"号做前缀表示。
12
结构事物之二:类 (继二)
例如:一个人的名字 谁都可以叫(name); 但只有他的孩子可以 继承他的模样 (face_like);有多少 钱只有他一个人知道 (how_much_money)。
person
+ name() # face_like() - how_much_money()
ClassB
29
关系之二:关联(续六)
聚合是一种强关联,它描述了整体和部
分之间的结构关系,画成一端为空心菱 形的实线。聚合类包含另一个类的指针。
class ClassA {
ClassB *the_class_b;
};
class ClassB {
ClassA *the_class_a; };
ClassA
参与者实际上是构造型为actor的类,画成一个小人。