如何在 UML 类图中显示静态方法的使用?
class A{
public static void test(){
}
}
class B{
public void b(){
A.test();
}
}
显示关系的类图会是什么样子?如果有差异,将准备 UML 2.0。
如何在 UML 类图中显示静态方法的使用?
class A{
public static void test(){
}
}
class B{
public void b(){
A.test();
}
}
显示关系的类图会是什么样子?如果有差异,将准备 UML 2.0。
要显示静态方法,您需要在静态方法的名称下划线 - 在这里查看更多详细信息。
至于驾驭这种关系;class B
取决于 的存在class A
。我们可以说 B 类对 A 类有“使用依赖关系”
class B ----uses----> class A
希望这可以帮助。
@RobertMS 是对的。
另一种选择是使用刻板印象:
..............................................................
....+----------------------------------------------------+....
....| StringUtilityClass |....
....+----------------------------------------------------+....
....| [+] void: lowerCase() <<non virtual>> |....
....| [+] void: upperCase() <<non virtual>> |....
....| [+] String: toString() <<override>> |....
....+----------------------------------------------------+....
....| [+] String: LowerCaseCopy(String Value) <<static>> |....
....| [+] String: UpperCaseCopy(String Value) <<static>> |....
....| [+] String: ReverseCopy(String Value) <<static>> |....
....+----------------------------------------------------+....
..............................................................
注意
一些编程语言的最佳实践,尤其是那些C
区分大小写的语法,将静态函数大写,并将其余函数保留为驼峰式小写。
干杯。
要在 UML 类图中显示静态方法和属性,请在它们下划线:请参阅UML Distilled p.66 或UML 上层结构规范的第 7.3.19 节(功能):
静态特征带有下划线。
为了显示类 B 和 A 之间的关系(其中 B 只使用 A 中的静态方法),您使用依赖项,而不是关联。关联总是在每一端的类实例之间,如 UML 上层结构规范的第 7.3.3 节(关联):
关联指定可以在类型化实例之间发生的语义关系。
但是 B 类依赖于 A 类,如规范的第 7.3.12 节中所示:
依赖关系是一种关系,表示单个或一组模型元素需要其他模型元素来进行规范或实现。
用刻板印象来澄清依赖的性质可能是值得的。您可以使用use
构造型,但这是非常通用的,实际上包含实例之间的标准关联(尽管您显然通常使用关联来显式显示它们)。正如 Fowler 在 UML Distilled 中所说,
许多 UML 关系暗示了依赖关系。从订单到客户的可导航关联 [在他的一个示例中......] 意味着订单依赖于客户。
关于使用什么刻板印象似乎没有标准。我曾经usesStatically
很清楚依赖的性质;那是
B --usesStatically--> A
(或者,如果 B 类有一个 A 的实例作为静态字段,我会使用类似的东西,B--containsStatically--> A
如果我在类图中明确表示 B;否则在 B 中只有一个带下划线的 A 类型的静态属性。)