UML图中的私有嵌套Java类

我有一个关于UML的问题。 我有一个类,它只包含一个带有私有访问修饰符的内部类 – 无法从其他任何地方访问…通常为了呈现内部类关系,我可以使用像这里的(+)关系( InnerOddIterator ):

在此处输入图像描述

(摘自http://www.uml-diagrams.org/nested-classifier.html )

我没有找到任何关于如何明确强调这个类是私有的信息。 你知道这种方法是否存在吗? 如果是的话,我会感激你在这里给我一些链接吗?

为了保持清晰,示例代码:

 public class DataStrucure { // fields, methods, etc private class InnerOddIterator{ // ... }; } 

从UML的角度来看。 如果classifier(Class也)嵌套在其他类中,则嵌套类扮演命名空间的角色。 在这种情况下,嵌套类在上下文命名空间中隐藏(私有)。 这意味着,您的图表隐式定义了私有内部类定义。

这是UML上层结构部分结构化分类器的定义的一部分:

“一个类充当其范围内定义的各种分类器的命名空间,包括类。分类器的嵌套将分类器的可见性限制在包含类的命名空间范围内,并用于信息隐藏的原因。分类器的使用方式与包含类中的任何其他分类器一样。“

首先:您的代码中有一些东西,并要求UML表示。 但是,恕我直言,你应该反过来看一下:如何在代码中表示UML的想法。 (有些编程语言甚至不提供私有嵌套类……)。

至于私有嵌套类:我建议使用Composition。 它作为协会更强大,但不如inheritance强。 没有composer php,composer php就不可能存在。 几乎完全是一个私有嵌套类。

该图来自http://www.uml-diagrams.org/association.html : 在此处输入图像描述

为了表明你的内在阶段是最好的,对我来说,是使用 – 如下所示的字符,但当然在这种情况下你会错过内部类的内部结构。 在此处输入图像描述