Динамическая диспетчеризация
- Динамическая диспетчеризация в информатике – выбор реализации полиморфной операции во время выполнения.
- Объектно-ориентированные системы моделируют проблему как набор взаимодействующих объектов, выполняющих операции с именами.
- Полиморфизм позволяет нескольким взаимозаменяемым объектам выполнять операцию с одинаковым названием, но с возможным различием в поведении.
- Динамическая диспетчеризация отличается от статической диспетчеризации, выбор реализации происходит во время выполнения.
- Цель динамической диспетчеризации – отложить выбор подходящей реализации до определения типа параметра во время выполнения.
- Однократная и многократная отправка определяют, на основе какого объекта выбирается версия метода.
- Языки могут быть реализованы с различными механизмами динамической диспетчеризации, влияющими на парадигмы программирования.
- C++ использует раннее связывание и предлагает как динамическую, так и статическую диспетчеризацию.
- Smalltalk использует диспетчер сообщений, основанный на типах сообщений, с быстрым механизмом отправки методов.
- Многие другие языки с динамической типизацией используют аналогичные подходы к динамической диспетчеризации методов.
Полный текст статьи: