Книга: Основы объектно-ориентированного программирования
Независимость от представления
Независимость от представления
Динамическое связывание связано с одним из принципиальных аспектов повторного использования: независимостью от представления, т.е. возможностью запрашивать исполнение некоторой операции, имеющей несколько вариантов, не уточняя, какой из них будет применен. В предыдущей лекции при обсуждении этого понятия использовался пример вызова
present := has (x, t)
который должен применить подходящий алгоритм поиска, зависящий от вида t во время выполнения. Если t объявлена как таблица, но может присоединяться к экземпляру бинарного дерева поиска, хеш-таблице и т. п. (в предположении, что все необходимые классы доступны), то при динамическом связывании вызов
present := t.has (x)
найдет во время выполнения подходящую версию процедуры has. С помощью динамического связывания достигается то, что было невозможно получить с помощью перегрузки и универсальности: клиент может запросить некоторую операцию, а поддерживающая язык система автоматически найдет ее соответствующую реализацию.
Таким образом, объединение классов, наследования, переопределения, полиморфизма и динамического связывания дает прекрасные ответы на вопросы, поставленные в начале этой книги: требования повторного использования, критерии, принципы и правила модульности.
- 1. Требования к табличной форме представления отношений
- Использование представления в виде таблицы данных
- Добавление и изменение представления списка
- Создание представления
- Две формы представления сетевого графика
- 13.4.2. Представления многобайтных символов
- Фреймы для представления знаний
- 2.3.3. Таблицы, колонки и представления (view)
- 9. Европейские иконы «Продукты компаний мало различаются. Различаются способы их представления потребителям»
- 1. Начало. Где коренятся представления о причинных зависимостях и методах их выявления
- Формы представления графика работ проекта
- Независимость Представлений