5

我有一些内部私有类,我不确定将它们放在我的类图中的哪个位置。他们应该在外部班级还是自己?

4

5 回答 5

2

您可以在外部类的一侧使用containment带有标志的外部表示它们。+你可以在这里找到它。

于 2012-04-19T11:08:01.937 回答
2

UML 语言和您使用的任何建模工具之间总是存在差异,因此实现某事的最佳方式取决于工具。

在 UML 中,类具有可见性/范围,就像类成员一样。换句话说,UML 允许私有类,但这并不意味着您的工具可以显示该类的“私有性”。

UML 还允许类包含其他类。换句话说,类可以充当包。同样,该工具的显示方式各不相同。

从纯粹的 UML 角度来看,我建议将内部类包含在外部类中,并标记为私有。

在图表中,如果您的工具未显示命名空间,您可以调整外部类的大小并将内部类放在其中。如果您的工具允许调整大小,那就是。

最后,除非您总共只有八个或十个类,否则我建议您在单独的图中显示内部类。

于 2012-04-20T04:01:59.253 回答
1

UML 用于设计或描述复杂的体系结构。我认为在 UML 类图中提及内部类并不重要。如果您在接口级别设计您的系统,那么您的实现和私有类以及所有私有方法都是失焦的。您的图表应该只包含公共方法 = 接口方法。

于 2012-04-19T11:05:48.983 回答
0

我认为您不能在 UML 类图中的另一个类中拥有一个类。您在 UML 中呈现它们的方式应该反映它们与父类的结构关系。如果它们是为了方便而在内部创建的,您可以将它们连接起来。如果它们具有包含或聚合关系,则 UML 具有适当的语法。在任何情况下,内部类都是特定于语言的,因此 UML 对它们有任何明确的支持会很奇怪(而且确实是错误的设计)。

可能相关的外部讨论: http: //www.coderanch.com/t/99318/patterns/Inner-Class-UML

于 2012-04-19T11:15:07.180 回答
0

这是我找到的解决方案在此处输入图像描述

来源http://www.informit.com/articles/article.aspx?p=336264&seqNum=3

于 2015-04-26T15:37:05.510 回答