Основы разработки программного обеспечения вычислительных систем. Милованов И.В - 48 стр.

UptoLike

48
Рис. 2.16. Отношение зависимости
тирная стрелка, направленная на класс, от которого зависят. С помощью
зависимости уточняют, какая абстракция является клиентом, а какая
поставщиком определённой услуги. Пунктирная стрелка зависимости на-
правлена от клиента к поставщику.
Наиболее часто зависимости показывают, что один класс использует
другой класс как аргумент в сигнатуре своей операции. В предыдущем
примере класс «ГрафикРазворота» появляется как аргумент в методах
«Обрабатывать» и «Запланировано» класса «КонтроллерУгла». Поэтому,
как показано на рис. 2.16, КонтроллерУгла зависит от класса «ГрафикРаз-
ворота».
КОНКРЕТИЗАЦИЯ
В [11] определяется конкретизация как процесс наполнения шаблона
(родового или параметризованного класса). Целью является получение
класса, от которого возможно создание экземпляров.
Родовой класс служит заготовкой, шаблоном, параметры которого
могут наполняться (настраиваться) другими классами, типами, объектами,
операциями. Он может быть родоначальником большого количества обыч-
ных (конкретных) классов. Возможности настройки родового класса пред-
ставляются списком формальных родовых параметров. Эти параметры в
процессе настройки должны заменяться фактическими родовыми парамет-
рами. Процесс настройки родового класса называют конкретизацией.
В разных языках программирования родовые классы оформляются
по-разному. Воспользуемся возможностями языка, в котором впервые
была реализована идея настройки-параметризации. Здесь формальные
родовые параметры записываются между словом generic и заголовком
пакета, размещающего класс.
П р и м е р: представим родовой (параметризированный) класс
«Очередь»:
generic
type Элемент is private;