
- •Введение
- •Управление моделью
- •Сноски (Note)
- •Общие механизмы расширения
- •Ограничение (constraint)
- •Комментарии (comment)
- •Свойства элементов
- •Стереотипы
- •Диаграммы статических структур
- •Диаграмма классов
- •Диаграмма объектов
- •Классификатор (Classifier)
- •Семантика
- •Нотация
- •Варианты представления
- •Рекомендации по оформлению
- •Секция названия Нотация
- •Секция список Нотация
- •Варианты представления
- •Атрибут
- •Семантика
- •Нотация
- •Варианты представления
- •Нотация
- •Интерфейсы Семантика
- •Нотация
- •Параметризованный класс (шаблон) Семантика
- •Нотация
- •Варианты представления
- •Связанный элемент Семантика
- •Нотация
- •Импортирование пакета Семантика
- •Нотация
- •Варианты представления
- •Варианты представления
- •Рекомендации по оформлению
- •Варианты
- •Варианты представления
- •Рекомендации по оформлению
- •Семантика
- •Нотация
- •Нотация
- •Рекомендации по проектированию
- •Варианты представления
- •Подробности
- •Нотация
- •Диаграммы последовательности Виды диаграмм взаимодействия
- •Диаграмма последовательности Семантика
- •Нотация
- •Варианты представления
- •Варианты представления
- •Время переходов Семантика
- •Нотация
- •Диаграммы сотрудничества
- •Сотрудничество Семантика
- •Нотация
- •Диаграмма сотрудничества Семантика
- •Нотация
- •Структура шаблона Семантика
- •Нотация
- •Взаимодействия
- •Семантика
- •Нотация
- •Активный объект
- •Варианты представления
- •Нотация
- •Составные состояния Семантика
- •Нотация
- •События Семантика
- •Нотация
- •Простые переходы Семантика
- •Нотация
- •Переходы во вложенные состояния Семантика
- •Нотация
- •Варианты представления
- •Внутренние переходы Семантика
- •Состояние действия Семантика
- •Нотация
- •Пиктограммы управления
- •Стереотипы
- •Диаграммы реализации
- •Компонентная диаграмма Семантика
- •Нотация
- •Диаграммы развертывания Семантика
- •Нотация
- •Узлы Семантика
- •Нотация
- •Компоненты Семантика
- •Нотация
Параметризованный класс (шаблон) Семантика
Шаблон - это описатель для класса с одним или более несвязанными параметрами. Что, следовательно, определяет семейство классов, каждый класс определяется связыванием параметров с реальными значениями. Обычно параметры представляют собой типы атрибутов, но могут также представлять целые числа, другие типы или даже операции. Атрибуты и операции в шаблоне определяются в терминах формальных параметров, поэтому они становятся связанными, как только шаблон непосредственно связывается с действительными значениями.
Так как шаблон содержит несвязанные параметры, то он непосредственно не используется как класс. Для создания связанной формы, являющейся классом, параметры должны быть связаны с реальными значениями. Только класс может быть суперклассом или целью ассоциации (однако односторонняя ассоциация от шаблона до другого класса является допустимой). Шаблон может быть подклассом обычного класса; это означает, что все классы образуемые его связыванием являются подклассами данного суперкласса.
Параметризация может применяться и к другим элементам модели, таким как сотрудничества или даже целым пакетам. Данное здесь описание очевидным образом применяется к другим видам элементов моделирования.
Нотация
В верхнем правом углу прямоугольника класса (или символа другого моделирующего элемента) добавляется маленький пунктирный прямоугольник. Он содержит список формальных параметров класса и типы их реализаций. Список не может быть пустым, хотя он может быть опущен при выводе. Название, атрибуты и операции параметризованного класса показываются как обычно в прямоугольнике класса, но они могут также включать вставки формальных параметров. Вставки формальных параметров могут также встречаться в окружении класса, например, чтобы показать связанный класс идентифицируемый одним из параметров.
Варианты представления
Список параметров может разделяться запятыми или быть построчным.
Параметры являются урезанными атрибутами, показываемыми строками со следующим синтаксисом:
name : type название : тип
где название - идентификатор параметра с областью действия внутри шаблона;
где тип - строка обозначающее выражение типа для параметра.
Если тип опущен, то ему назначается выражение типа, такое как название класса или тип данных, для которых суперклассом является классификатор. Другие типы параметров (такие как Integer) должны явно показываться; они должны являться допустимым выражением типа.
Пример
Рисунок 12. Нотация шаблона с использованием параметров как ссылок
Связанный элемент Семантика
Шаблон не может использоваться непосредственно в обычном отношении, таком как обобщение или ассоциация, потому что он имеет свободный параметр, который не значим вне декларирующей его области. Перед использованием, параметры шаблона должны быть связаны с действительными значениями. Действительное выражение для каждого параметра - это определенное в области использования выражение. Если указывающая область сама является шаблоном, то параметры ссылающегося шаблона могут быть использованы как действительные значения в связывании шаблона, на который ссылаются, но названия параметров в двух шаблонах не могут назначаться согласовано, так как их области действия ограничены их собственными шаблонами.