ВУЗ:
Составители:
(независимом) может влиять на другой класс (зависимый), который использует его.
Графически зависимость изображается как пунктирная стрелка, направленная на класс, от
которого зависят. С помощью зависимости уточняют, какая абстракция является клиентом, а
какая — поставщиком определенной услуги. Пунктирная стрелка зависимости направлена
от клиента к поставщику.
Наиболее часто зависимости показывают, что один класс
использует другой класс
как аргумент в сигнатуре своей операции.
Конкретизация
Г. Буч определяет конкретизацию как процесс наполнения шаблона (родового или
параметризованного класса). Целью является получение класса, от которого возможно
создание экземпляров.
Родовой класс служит заготовкой, шаблоном, параметры которого могут наполняться
(настраиваться) другими классами, типами, объектами, операциями. Он может быть
родоначальником
большого количества обычных (конкретных) классов. Возможности
настройки родового класса представляются списком формальных родовых параметров. Эти
параметры в процессе настройки должны заменяться фактическими родовыми параметрами.
Процесс настройки родового класса называют конкретизацией.
Для Класс Очередь произведем настройку, то есть объявим два
конкретизированных класса — ОчередьЦелыхЭлементов и ОчередьЛилипутов:
В первом случае мы настраивали класс
на конкретный тип Integer (фактический
родовой параметр), во втором случае — на конкретный тип Лилипут.
Классы ОчередьЦелыхЭлементов и ОчередьЛилипутов можно использовать как
обычные классы. Они содержат все средства родового класса, но только эти средства
настроены на использование конкретного типа, заданного при конкретизации.
Графическая иллюстрация отношений конкретизации приведена на рис. 11.
Отметим, что отношение конкретизации
отображается с помощью подписанной стрелки
отношения зависимости. Это логично, поскольку конкретизированный класс зависит
от родового класса (класса-шаблона).
Рис. 11. Отношения конкретизации родового класса.
Контрольные вопросы
1. Основные отношения между классами.
2. Отношение агрегации между классами.
3. Отношение наследования.
4. Понятия полиморфизма.
5. Отношение агрегации между классами.
6. Отношение зависимости.
Страницы
- « первая
- ‹ предыдущая
- …
- 9
- 10
- 11
- 12
- 13
- …
- следующая ›
- последняя »