Мультиметод

Материал из Энциклопедия о программировании
Перейти к: навигация, поиск

Мультиметод (англ. multimethod; множественный метод) или множественная диспетчеризация (англ. multiple dispatch) в ЯП — механизм, позволяющий выбрать 1 из нескольких функций, в зависимости от динамич. типов или знач. аргументов – напр., перегрузка методов в некоторых ЯП. Расширение одиночн. диспетчеризации (виртуальных функций), где выбор метода осуществл. динамич. на основе фактич. типа объекта, для которого этот метод был вызван. Обобщает динамическую диспетчеризацию для случаев с 2 или более объектами.

В ЯП не имеющих перегрузки, т.е. возможность задать несколько вариаций одной и той же функции, может приняться мультиметод.

В явн. виде мультиметоды поддерж. «объектной системой Common Lisp’а» (CLOS).