2012-04-19 52 views
5

我有一些内部的私人类,我不确定把它们放在我的班级图表中。 他们应该在他们的外部班级还是在自己的班级?Private classes and uml

回答

1

UML用于设计或描述复杂的体系结构。我不认为内部类在UML类图中提及它很重要。如果你在界面级别上设计你的系统,那么你的实现以及私有类就会失去焦点,以及所有私有方法。你的图应该只包含公共方法=接口方法。

2

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

0

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

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

2

总是有UML语言,无论你使用建模工具之间的差异,所以这是完成一件事情的最好方法取决于工具。

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

UML还允许类包含其他类。换句话说,班级可以充当包裹。再次,工具如何显示这个变化。

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

在图中,如果您的工具没有显示名称空间,那么可以调整外部类的大小并将其放在内部。如果你的工具允许调整大小,那就是。最后,除非总共只有八个或十个类,否则我会建议在单独的图中显示内部类。