Как указать видимость в диаграммах классов UML

Нотация классов UML

Классы представляют концепцию инкапсуляции состояния (атрибуты) и поведения (операции). У каждого атрибута есть тип. У каждой операции есть подпись. Имя класса — это единственная обязательная информация.

UML Class Notation

Инкапсуляция — это принцип скрытия данных: объект скрывает свои данные от внешнего доступа и разрешает внешним сущностям изменять данные только путем вызова методов объекта.

Степень инкапсуляции элементов класса зависит от уровня видимости элемента. Видимость свойства или операции определяет, могут ли объекты других классов «видеть» или получать доступ к этому свойству или операции.

UML поддерживает следующие четыре уровня видимости:

Символы ~, +, # и –, помещенные перед именем атрибута или операции в классе, указывают на его видимость:

  • Видимость пакета (обозначается тильдой ~) означает, что любой объект из класса в том же пакете может видеть и использовать данный класс.
  • Публичная видимость (+) означает, что любой объект из любого класса может использовать данный атрибут или операцию.
  • Защищенная видимость (#) означает, что доступ к атрибуту или операции могут иметь только объекты подклассов данного класса (то есть классы, расположенные ниже в иерархии).
  • Приватная видимость (-) означает, что использовать атрибут или операцию могут только объекты самого класса.

На следующем изображении показаны модификаторы видимости для примеров атрибутов и операций:

Class Visibility

Единый язык моделирования (UML)

Leave a Reply