OpenU.Ru
Определение переменной, которую можно изменять, передавать и возвращать. Параметр
может включать в себя имя, тип и направление. Используется для операции, сообщений,
событий и шаблонов.
См. для сравнения argument.
Зависимость использования параметра связывает операцию, в которой используется
параметр, или класс, в котором содержится такая операция, с классом данного
параметра.
См. argument; binding.
Семантика
Параметр представляет собой место для аргумента, который связывается с ним
при использовании родительского для данного параметра внешнего элемента. Параметр
ограничивает значения, которые может принимать аргумент. У параметра есть следующие
составляющие:
значение по умолчанию (defaull value)
Выражение, описывающее значение, которое используется в том случае, если у параметра
нет аргумента. Вычисляется это выражение тогда, когда аргументы привязываются
к списку параметров.
направление (direction)
Направление потока информации для параметра. Перечисление, у которого могут
быть следующие значения:
in
Входной параметр, передаваемый по значению. Источник вылова не имеет доступа
к изменениям в параметре.
out
Выходной параметр. Входное значение отсутствует. Источник вызова имеет доступ
к конечному значению.
inout
Входной параметр, который можно изменять. Источник вызова имеет доступ к коночному
значению.
return
Возвращаемое значение вызова, к которому имеет доступ источник вызова. С семантической
точки зрения не отличается от выходного параметра, однако, результат в данном
случае можно использовать но встроенном (inline) выражении.
Не все языки программирования поддерживают все вышеперечисленные варианты. Однако
концепции, которые лежат в их основе, есть, во всех языках - хоть и реализуются
по-разному.
имя (name)
Имя параметра, уникальное в своем списке параметров.
тип (type)
Ссылка на классификатор (класс, тип данных или интерфейс в большинстве процедур).
Связанный с параметром аргумент должен быть экземляром этого классификатора
или его потомка.
Нотация
Параметр изображается в виде строки текста, которую можно разделить на составляющие (различные свойства параметра). По умолчанию используется синтаксис:
направление имя : тип = значение-по-умолчанию
Направление. Направление обозначается при помощи ключевого слова, которое ставится
перед именем операции. Если ключевое слово отсутствует, значит, это направление
in (входное). Возможны и другие варианты - out (выходное), inout (исходное-выходное)
или return (возвращаемое). Возвращаемые параметры, как правило, укладываются
в другом месте сигнатуры операции, где их направление не нужно помечать.
Имя. Имя записывается в виде строки.
Тип. Тип изображается в виде строки, которая представляет собой имя класса,
интерфейса или тип данных.
Значение по умолчанию. Значение изображается в виде выражения. Язык этого выражения
должен быть известен инструменту моделирования, однако при этом в общепринятом
формате его не указывают.
Область действия. Если область действия представляет собой класс, то строка
операции должна быть подчеркнута. Если область действия - экземпляр, то она
не подчеркивается.
Зависимость параметра. Зависимость параметра изображается в виде пунктирной
стрелки, идущей от операции, которой принадлежи! параметр, или класса, в котором
содержится операция, к классу параметра. К стрелке крепится стереотип "parameter".
Пример
Matrix: :transform ( in distance: Vector, in angle: Real = 0): return Matrix
В данном случае могут быть опущены все метки направлений.