UML 类图中关联的属性

在 Visual Studio 旗舰版中的 UML 类图中,您可以绘制任意类型对之间的关联。 类型是类、接口或枚举。

关联指示您所开发的系统存储关联类型的实例之间的某种链接。 通常,它不表示有关实现链接的任何内容。 例如,它们可以是指针、表中的行、XML 中的交叉引用名称等。

关联是显示特性或特性对的图示方法。 例如,如果您定义了一个包含 Menu 类型特性的 Restaurant 类,则可以通过在“餐馆”与“菜单”之间绘制一个关联来表明同一定义。

若要绘制关联,请单击工具箱中的**“关联”**,再单击第一个类型,然后单击第二个类型。 可以两次单击同一类型以表明实例可以与同一类型的其他实例相链接。

属性

下面是 UML 类图中关联的属性。

若要查看关联的属性,请右击该关联,然后单击**“属性”**。 这些属性将显示在属性窗口中。

如下图所示,部分属性还显示在关系图上。

针对关联的属性

属性

说明

Name (1)

标识关联。 还显示在关系图中关联的中点附近。

Qualified Name

唯一标识关联。 以包含关联的第一个角色的包的限定名为前缀。

Work Items

链接到此关联的工作项的数目。 若要链接工作项,请参见如何:将模型元素链接至工作项

Color

连接线的颜色。 与其他属性不同,这是此关联视图的属性,而不是模型中基础关系的属性。

First Role

Second Role

关联的每一端称为一个角色。 每个角色描述关联的另一端所属类中的等效特性的属性。

在示例关系图中,“菜单”和“菜品”之间的关联具有称为 Menu 和 Contents 的角色。

Contents 是 Menu 类中特性的名称。

每个角色的属性

若要查看每个角色的属性,请展开**“第一个角色”“第二个角色”**属性。

属性

默认值

说明

Role Name (2)

此角色的类型名称

角色的名称。 显示在关系图中关联的端点附近。

Aggregation

(4) - 表示类实例之间的一般关系。

复合 (5) - 此角色的对象包含对方角色的对象。 可以使用“复合”工具创建具有复合聚合的关联。

共享 (6) - 此角色的对象包含对另一角色的对象的引用。 可以使用“聚合”工具创建具有共享聚合的关联。

准确释义对本地约定是开放的。

Is Derived

False

如果为 True,将从其他特性和关联计算此链接端的对象。 例如,MyWorkPlace 从 MyEmployer.WorkPlace 计算。 “说明”或附加“注释”中应键入详细信息。

Is Derived Union

False

如果为 True,角色为派生类型中一组角色的联合。

Is Navigable

True

可沿此方向读取关联。 如果给定对方角色的实例,您所描述的软件可以有效地确定此角色中关联的实例。

如果一个角色可导航而另一个角色不能,则箭头将沿导航方向显示 (7) 在关联上。

默认情况下,关联工具会创建一个可沿一个方向导航的关联。 若要将其转换为双向关联,可以选择该关联,单击显示的操作标记,然后单击“成为双向”

Is Read Only

False

如果为 True,则在创建关联的实例后无法更改该实例。 链接始终指向同一对象。

Multiplicity (3)

1

1 - 此关联端始终链接到一个对象。 在该图中,每个“菜品”都有一个“菜单”。

0..1 - 此关联端链接到一个对象,或者无链接。

* - 另一个关联端的每个对象都链接到此端的对象集合,并且该集合可以为空。

1..* - 另一个关联端的每个对象都链接到此端的至少一个对象。 在该图中,每个“菜单”至少有一个“菜品”。

n..m - 另一端的每个对象都有一组到此端对象的链接,链接数介于 n 和 m 之间。

Is Ordered

False

如果为 True,则返回的集合构成一个顺序列表。 当“重数”大于 1 时使用。

Is Unique

False

如果为 True,则返回的集合中没有重复值。 当“重数”大于 1 时使用。

Visibility

Public

Public - 全局可见

Private - 对所属类型以外的类型不可见

Protected - 对所有者派生的类型可见

Package - 对同一包中的其他类型可见。

请参见

概念

UML 类图:参考

UML 类图中类型的属性

UML 类图中特性的属性

UML 类图中操作的属性

UML 类图:准则