Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Унифицированный язык моделирования (Unified Mod...doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.06 Mб
Скачать

Параметризованный класс (шаблон) Семантика

Шаблон - это описатель для класса с одним или более несвязанными параметрами. Что, следовательно, определяет семейство классов, каждый класс определяется связыванием параметров с реальными значениями. Обычно параметры представляют собой типы атрибутов, но могут также представлять целые числа, другие типы или даже операции. Атрибуты и операции в шаблоне определяются в терминах формальных параметров, поэтому они становятся связанными, как только шаблон непосредственно связывается с действительными значениями.

Так как шаблон содержит несвязанные параметры, то он непосредственно не используется как класс. Для создания связанной формы, являющейся классом, параметры должны быть связаны с реальными значениями. Только класс может быть суперклассом или целью ассоциации (однако односторонняя ассоциация от шаблона до другого класса является допустимой). Шаблон может быть подклассом обычного класса; это означает, что все классы образуемые его связыванием являются подклассами данного суперкласса.

Параметризация может применяться и к другим элементам модели, таким как сотрудничества или даже целым пакетам. Данное здесь описание очевидным образом применяется к другим видам элементов моделирования.

Нотация

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

Варианты представления

Список параметров может разделяться запятыми или быть построчным.

Параметры являются урезанными атрибутами, показываемыми строками со следующим синтаксисом:

name : type название : тип

где название - идентификатор параметра с областью действия внутри шаблона;

где тип - строка обозначающее выражение типа для параметра.

Если тип опущен, то ему назначается выражение типа, такое как название класса или тип данных, для которых суперклассом является классификатор. Другие типы параметров (такие как Integer) должны явно показываться; они должны являться допустимым выражением типа.

Пример

Рисунок 12. Нотация шаблона с использованием параметров как ссылок

Связанный элемент Семантика

Шаблон не может использоваться непосредственно в обычном отношении, таком как обобщение или ассоциация, потому что он имеет свободный параметр, который не значим вне декларирующей его области. Перед использованием, параметры шаблона должны быть связаны с действительными значениями. Действительное выражение для каждого параметра - это определенное в области использования выражение. Если указывающая область сама является шаблоном, то параметры ссылающегося шаблона могут быть использованы как действительные значения в связывании шаблона, на который ссылаются, но названия параметров в двух шаблонах не могут назначаться согласовано, так как их области действия ограничены их собственными шаблонами.