Можно задать количество элементов любого атрибута, операции или типа параметров.
Допустимы следующие значения.
Количество элементов | Атрибут, параметр или возвращаемое значение содержит следующее. |
[1] | Одно значение заданного типа. Это значение по умолчанию. |
[0..1] | Null или значение заданного типа. |
[*] | Коллекция, в состав которой может входить неограниченное число экземпляров заданного типа. |
[1..*] | Коллекция хотя бы одного экземпляра заданного типа. |
[n..m] | Коллекция, в которую входит от n до m экземпляров заданного типа. |
Если количество элементов превышает 1, можно задать следующие свойства.
- IsOrdered — если значение true, коллекция имеет определенный порядок.
- IsUnique — если значение true, в коллекции отсутствуют повторяющиеся значения.
Видимость
Видимость указывает, можно ли получить доступ к атрибуту или операции за пределами определения класса. Допустимы следующие значения.
Имя | Краткая форма | Значение |
Открытый | + | Возможен доступ изо всех других типов. |
Закрытый | - | Доступ открыт только для внутреннего определения этого типа. |
Пакет | ~ | Возможен доступ только внутри пакета, который содержит данный тип, а также в любых пакетах, явно импортирующих его. |
Защищенный | # | Доступ открыт только данному типу и всем типам, которые его наследуют. |
Задание сигнатуры атрибута или операции
|
|
Сигнатура атрибута или операции — это коллекция свойств, включающая видимость, имя, параметры (для операций) и тип.
Сигнатуру можно создать непосредственно на схеме. Щелкните атрибут или операцию, чтобы выделить элемент, затем повторно щелкните его.
Создайте сигнатуру в следующей форме.
Other
visibility attribute-name: Type
- или -
Other
visibility operation-name (parameter1: Type1,...): Type
Пример.
Other
+ AddItem (item: MenuItem, quantity: Integer): Boolean
Используйте краткую форму значения свойства visibility. Значение по умолчанию — + (открытый).
Каждый тип может представлять собой типы, определенные в модели, стандартные типы (такие как Integer или String) или имя нового типа, который еще не был определен.
Примечание
Если в списке параметров создается имя без типа, оно представляет собой имя параметра, а не типа. В этом примере MenuItem и Integer являются именами двух параметров с незаданным типами.
AddItem(MenuItem, Integer) /* parameter names, not types! */
Чтобы задать в сигнатуре количество элементов типа, запишите количество элементов в квадратных скобках после имени типа. Например, как показано ниже.
Other
+ AddItems (items: MenuItem [1..*])
+ MenuContent: MenuItem [*]
Если атрибут или операция статична, имя атрибута или операции отображается в сигнатуре подчеркнутым. Если атрибут или операция абстрактна, имя отображается курсивом.
Однако свойства Является статическим и Является абстрактным можно задать только в окне Свойства.