Язык UML. Руководство пользователя



Операции


На самом высоком уровне абстракции при моделировании поведенческих характеристик класса (то есть его операций и сигналов, см. главу 20) вы просто записываете их имена. Этого обычно бывает достаточно, чтобы читатель мог понять общее назначение модели. Кроме этого, как описывалось в предыдущих разделах, вы можете определить видимость и область действия каждой операции. Можно задать также ее параметры, тип возвращаемого значения, семантику параллелизма и некоторые другие свойства. Имя операции совместно с ее параметрами (включая тип возвращаемого значения, если таковое имеется) называют сигнатурой операции. Для описания множества логически связанных операций, таких, например, как вспомогательные функции, можно использовать стереотипы (см. главу 6).

Примечание: В языке UML существует различие между операцией и методом. Операциями называются услуги, которые можно запросить у любого объекта класса для изменения поведения; метод - это реализация операции. Для любой неабстрактной операции класса должен быть определен метод, содержащий ее исполняемый алгоритм (обычно записываемый в виде структурированного текста или на каком-либо языке программирования). В иерархии наследования для одной операции может быть определено несколько методов, из которых нужный полиморфно выбирается во время выполнения.

Полный синтаксис операции в языке UML таков:

[visibility] name [(parameter-list)] [: return-type] [{property-string}]

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

  • display - только имя;
  • + display - видимость и имя;
  • set (n: Name, s: String) - имя и параметры;
  • getID() : Integer - имя и возвращаемое значение;
  • restart() {guarded} - имя и свойство.

    Сигнатура операции может содержать ноль или более параметров, каждый из которых имеет следующий синтаксис:

    [direction] name : type [= default-value]

    Параметр direction может принимать любое из нижеперечисленных значений:

  • in - входящий параметр, который не может быть модифицирован;
  • out - выходящий параметр, который может быть изменен, чтобы передать информацию вызвавшей процедуре;
  • inout - входящий параметр, который может быть изменен.




    Содержание  Назад  Вперед