由UML中的关系所拥有的分类器和关联所拥有的关联

时间:2013-09-15 14:35:22

标签: associations uml relationship classification

7.3.3关联(来自内核),第36页,UML超结构,v2.4.1:

由分类器或关系拥有的关联。

在UML中是否存在关于由关系拥有的分类器和关联所拥有的关联的真实示例?

2 个答案:

答案 0 :(得分:3)

CHRISS

我希望这个简单的例子有所帮助。

猜猜你有一个Java类

public class A {
   private B b;
   ...
}

在UML中,您可以将此关系建模为从A到B的关联:

A - >乙

使用以下建模元素:

Class B
Class A
  + Property b : B [0..1]    (owned by the class)
Association A_to_B
  + Property from_a : A [1]  (owned by the association)

关联A_to_B将有2个关联(成员)结束,引用上面显示的两个属性(A :: b和A_to_B :: from_a):

现在,让我们考虑以下情况

public class A {
   private B b;
   ...
}
public class B {
   private A a;
   ...
}

在UML中,你可以模拟A和B之间的关联(两种方式都可导航):

A< - >乙

其模型元素是:

Class B
  + Property a : A [0..1]  (owned by the class)
Class A
  + Property b : B [0..1]  (owned by the class)
Association A_B

如果关联A_B有2个关联(成员)结束,则引用上面显示的两个属性(A :: b和B :: a)。

答案 1 :(得分:3)

  • 在其他事情之前,您应该了解A到B的关联是什么。
    • 基本上它是A和B之间的实线。它可以表示一个结构,它将A的类/实例与B的类/实例连接起来。结构可以是任何类型,属于任何地方。所有关于该行的信息都描述了这种结构。
    • 如果有两个结构,一个结构连接A的一个实例和B的实例,另一个结构连接B的实例和A的实例,则可以在一个关联中显示它们。然后,关于其B端写入的信息描述第一结构(b-> a),关于另一端的信息描述另一结构。
    • 如果您有多个结构从A到B引导,则必须绘制两个不同的关联。
    • 如果连接结构很复杂,您可以将其表示为关联类。在那里你可以定义更多细节。
    • 连接结构可以连接两个以上的类,然后它将显示为一个大的菱形,并且具有到这些类的实心分支。它还是联想!注意:现有工具非常支持这两个更复杂的关联。您可以轻松地创建一些绝对无意义的东西。他们很难。小心使用。

example Class diagram


在C ++实例中,A可以使B实例不是指针,而是直接。它没有特殊的UML符号,它应该以与普通的指针属性相同的方式显示。