UML 类图中操作的属性
在 Visual Studio 旗舰版中的 UML 类图上,您可以向类和接口添加操作。 操作是类或接口的实例可以执行的方法或函数。
若要添加操作,请右击类或接口,指向**“添加”,然后单击“操作”**。
如果看不到关系图上某个类的操作,请单击该类或接口顶部的 V 形来展开它。 如果可以看到**“操作”标题,请单击“[+]”**展开操作部分。
操作的签名
操作的签名是在 UML 类图上的类或接口中表示该操作的一行文本。 它具有以下形式:
+ OperationName (parameter1 : Type1 [*], ...): ReturnType [*]
+ 表示可见性为 public。 其他允许的值有 - (private)、# (protected) 和 ~ (package)。
如果**“是静态的”属性为 True,则 OperationName 带下划线,如果“是抽象的”**属性为 True,则为斜体。
如果没有定义返回类型,则省略 : ReturnType。
[*] 表示参数或返回类型的重数。 如果重数为 1,则省略它。
有关这些属性的完整描述,请参见下一节。
属性
下面是 UML 类图上类或接口中的操作的属性。
若要查看某个操作的属性,请右击关系图上相应类或接口中的该操作,然后单击**“属性”。 这些属性将显示在“属性”**窗口中。
属性 |
默认 |
说明 |
---|---|---|
名称 |
(新名称) |
在包含类型中应该是唯一的。 |
参数 |
(无) |
具有以下形式的列表:名称:类型、名称:类型、…。单击“[…]”可编辑该列表。 这些类型可以是基元类型,或者是在模型中定义的类型。 如果在此属性中输入新类型的名称,则会向 UML 模型资源管理器中的“未指定的类型”部分中添加一个类型。 |
Return Type |
(无) |
“(无)”,或基元类型,或在模型中定义的类型。 如果在此属性中输入新类型的名称,则会向 UML 模型资源管理器中的“未指定的类型”部分中添加一个类型。 |
Postconditions |
(无) |
一个可选条件,指定执行操作前后系统状态之间的关系。 |
Preconditions |
(无) |
一个可选条件,指定在开始执行操作之前,有关系统状态的假设。 |
Body Conditions |
(无) |
有关操作返回的值的可选约束。 |
可见性 |
Public |
允许的值以及显示在签名中的字符如下所示: + Public - 全局可见 - Private - 对所属类型以外的类型不可见 # Protected - 对所有者派生的类型可见 ~ Package - 对同一包中的其他类型可见。 |
Signature |
+Name() |
概述此操作的可见性、名称、参数和返回类型。 您可以通过编辑关系图上的签名或编辑单个属性来更改这些属性。 |
工作项 |
0 个关联项 |
关联工作项的计数。 只读。 有关更多信息,请参见链接模型元素和工作项。 |
并发 |
顺序 |
顺序 - 设计或将要设计该操作时不进行并发控制。 同时调用此操作可能会导致失败。 保护 - 在操作的其他实例完成之前,操作将自动中断。 并发 - 设计该操作是为了可以同时执行对该操作的多个调用。 |
Is Static |
False |
如果为 True,则此操作将在该类型的所有实例之间共享。 如果为 True,则此操作的名称在关系图上显示时将带有下划线。 |
是抽象的 |
False |
如果为 True,则没有与此操作相关联的代码。 因此,所属类是抽象类。 |
Is Leaf |
False |
设计器设计为不能在派生类中重写此操作。 |
Is Query |
False |
如果为 True,则此操作不会对系统状态进行重大更改。 因此,可以用在比如测试当中来检查系统状态。 |
重数 |
1 |
1- 指定类型的单个值。 0..1 - 可以为 null。 * - 指定类型的值的集合。 1..* - 至少包含一个值的集合。 n..m - 包含介于 n 和 m 之间的值的集合。 |
Is Ordered |
False |
如果为 True,则集合构成一个顺序列表。 当“重数”大于 1 时使用。 |
Is Unique |
False |
如果为 True,则集合中没有重复值。 当“重数”大于 1 时使用。 |