16

在类图中,有没有办法指定一个类是另一个类的内部类?

还是将其视为纯粹的实现选择?

4

4 回答 4

11

考虑使用嵌套关系(在父端的圆圈中带有“+”的线)。

于 2008-10-28T02:15:51.610 回答
7

由于 UML 不应该是直接特定于实现的,因此我将使用命名约定,例如:

OuterClass vs OuterClass::InnerClass

我可以想象,如果您希望对 UML 进行逆向工程或代码生成,那么不同的工具将使用不同的技术(如果它们完全支持的话)。

使用 Enterprise Architect (EA v7) 对某些逆向工程进行快速测试,确认它们InnerClass::OuterClass在处理带有公共内部类的某些 C# 时使用了上述语法。

于 2008-10-27T16:15:45.987 回答
1

对于这种事情,您有单独的图表来显示类的内部结构或处理。

通常,那些额外的图表是显示处理的活动图。有时一种方法。您可能还有一个显示 API 交互的内部序列图。

没有理由你不能有一个额外的类图来显示一个类的内部结构。

于 2008-10-27T16:05:49.423 回答
0

或者您可以显示被外部类完全包围的内部类,一个矩形在另一个矩形内。

于 2008-10-28T02:21:30.163 回答