Подтвердить что ты не робот

Частный вложенный класс Java в диаграмме UML

У меня есть вопрос относительно UML. У меня есть класс, который просто содержит внутренний класс с модификатором частного доступа - к нему нельзя получить доступ нигде... Обычно для представления внутреннего отношения класса я могу использовать (+) отношение, как здесь (InnerOddIterator):

enter image description here

(взято из http://www.uml-diagrams.org/nested-classifier.html)

Я не нашел нигде никакой информации о том, как можно четко подчеркнуть, что этот класс является приватным. Вы знаете, существует ли такой метод вообще? Если да, то я буду признателен, если вы дадите мне ссылку или что-то еще?

Просто чтобы все было ясно, пример кода:

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

Ответ 1

С точки зрения UML. Если классификатор (класс) также вложен в другой класс, класс вложенности играет роль пространства имен. В этом случае вложенные классы скрыты (private) в пространстве имен контекста. это означает, что ваша диаграмма неявно определяет частное определение внутреннего класса.

здесь является частью определения из структурированных классификаторов раздела UML-надстройки:

"Класс действует как пространство имен для различных типов классификаторов, определенных в его области, включая классы. Вложение классификаторы ограничивают видимость классификатора в пределах пространства имен содержащего класса и используются для причины скрытия информации. Вложенные классификаторы используются как любой другой классификатор в содержащем классе.

Ответ 2

Прежде всего: у вас есть что-то в коде и просят представление UML. Но, ИМХО, вы должны смотреть на это наоборот: как эта идея UML может быть представлена ​​в коде. (Некоторые языки программирования даже не предлагают частные вложенные классы...).

Как для частных вложенных классов: я предлагаю использовать композицию. Он сильнее, чем Ассоциация, но не настолько силен, как наследование. И композиционный класс не может существовать без его композитора. Практически точно частный вложенный класс.

Рисунок берется из http://www.uml-diagrams.org/association.html: enter image description here

Ответ 3

Чтобы указать, что ваш внутренний класс является наиболее подходящим для меня, это использовать символ, как показано ниже, но, конечно, в этом случае вы пропустите внутреннюю структуру вашего внутреннего класса. enter image description here