68
А наша диаграмма классов
с операциями, атрибутами и стереотипами
будет выглядеть так, как показано ниже на рисунке 83.
Рисунок 83. Диаграмма классов с операциями
10.
Определение спецификаций атрибутов класса
В языке UML мы можем специфицировать атрибуты и операции
заданием их видимости, кратности и пр.
Общий формат записи отдельного атрибута класса следующий:
[квантор видимости] имя атрибута [кратность] :
[тип атрибута] [= исходное значение] [{строка-свойство}]
Все элементы в квадратных скобках «[ ]» являются необязательными
спецификациями атрибутов и могут быть опущены.
Однако их
использование позволяет сделать модель более полной и управлять
взаимоотношениями между классами, разграничивая их права доступа.
Пример.
фамилия
– указано только имя атрибута;
+фамилия
– имя и видимость;
фамилия :
String
– имя и
тип значений атрибута;
товаровВКорзине [0..*] : Integer
– имя, кратность и тип;
-ID [1] : String {frozen}
– видимость, имя, кратность, тип и свойство;
товаровВКорзине : Integer = 0
– имя и начальное значение.
69
Опишем спецификации атрибутов подробно.
Имя атрибута
может быть произвольной текстовой строкой. Имя
является единственным обязательным элементом при задании атрибута. Имя
должно начинаться с маленькой буквы, если
оно содержит несколько слов, то
остальные слова, кроме первого, пишутся с большой буквы:
фамилия
или
фамилияСотрудника.
Видимость
(visibility) — качественная характеристика описания
свойств класса, характеризующая потенциальную возможность других
объектов модели использовать это свойство (атрибут или операцию).
Видимость в языке UML обозначается с помощью квантора видимости
(visibility)
, который может принимать одно из 4-х
возможных значений и
отображаться при помощи специальных символов.
Открытый (
public
). Атрибут виден всем остальным классам.
Любой класс, связанный с данным в рамках диаграммы или пакета,
может просмотреть или изменить значение атрибута. Обозначается
символом «+» перед именем атрибута.
Защищенный (
protected
). Любой
потомок данного класса
может пользоваться его защищенными свойствами. Обозначается
знаком «#» перед именем атрибута.
Закрытый (private).
Атрибут с этой областью видимости
недоступен или не виден для всех классов без исключения.
Обозначается знаком «-» перед именем атрибута.
Пакетный (package). Атрибут является открытым,
но только
в пределах своего пакета. В StarUML данный атрибут обозначается
значком «~».
Достарыңызбен бөлісу: