СРСП

СРСП № 5

Тема: Параметризованные классы.

Цель: знать предназначение параметризованного класса

Шаблон (template) или параметризованный класс (parametrized class) предназначен для обозначения такого класса, который имеет один (или более) нефиксированный формальный параметр. Он определяет целое семейство или множество классов, каждый из которых может быть получен связыванием этих параметров с действительными значениями. Обычно параметрами шаблонов служат типы атрибутов классов, такие как целые числа, перечисление, массив строк и др. В более сложном случае формальные параметры могут представлять и операции класса.

Графически шаблон изображается прямоугольником, к верхнему правому углу которого присоединен маленький прямоугольник из пунктирных линий, большой прямоугольник может быть разделен на секции, аналогично обозначению для класса. В верхнем прямоугольнике указывается список формальных параметров для тех классов, которые могут быть получены на основе данного шаблона. В верхней секции шаблона записывается его имя по правилам записи имен для классов.

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

класса

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

классом

имеет место отношение обобщения с наследованием свойств шаблона. В данном примере отмечен тот факт, что класс "Адрес" может быть получен из шаблона Связный_список на основе актуализации формальных параметров "S, k, l" фактическими атрибутами "улица, дом, квартира".

Этот же шаблон может использоваться для задания (инстанцирования) другого класса, скажем, класса "Точки_на_плоскости". В этом случае класс "Точки_на_плоскости" актуализирует те же формальные параметры, но с другими значениями, например, <координаты_точки, х, у>. Концепция шаблонов является достаточно мощным средством в ООП, и поэтому ее использование в языке UML позволяет не только сократить размеры диаграмм, но и наиболее корректно управлять наследованием свойств и поведения отдельных элементов модели.


Контрольные вопросы

1.                  Для чего пердназначен параметризированный класс?

2.                  Что чаще всего выступает в качестве шаблона?

3.                  Что позволяет использование концепция шаблонов в языке UML?


Ұқсас жұмыстар

Вуздағы кафедра құжат айналымын DELPHI көмегімен дамытуды ұйымдастыру
Акционерлік қоғамның қаржылық жағдайына жүргізілген талдау
Тіршілік қауіпсіздігі негіздері
Төлем көзінен салық салынбайтын табыстары барлар
Баян Сұлу АҚ мысалында операциялық және қаржылық тұтқа әсеріне талдау жүргізу
Оқу процесін ұйымдастырудың кредиттік жүйесі
Туристік өнімді қалыптастыру
Тұрғын үймен қамту бағдарламалары
Аммиактың алмасуы
Сызықтық регрессия