Общая функция
- Универсальная функция в компьютерном программировании — это функция, определенная для полиморфизма.
- В статически типизированных языках универсальные функции относятся к механизму полиморфизма во время компиляции.
- В объектной системе Common Lisp универсальная функция — это объект, состоящий из всех методов с одинаковым именем.
- Универсальные функции являются как функциями, которые могут вызываться с аргументами, так и обычными объектами.
- В книге «Искусство протокола метаобъектов» подробно описывается реализация и использование общих функций CLOS.
- Отдельные реализации сообщения называются методами.
- Универсальные функции примерно соответствуют тому, что Smalltalk называет методами, за исключением того, что в Smalltalk класс получателя является единственным фактором, определяющим, какой фрагмент кода вызывается.
- В языке программирования с множественной диспетчеризацией при вызове универсальной функции диспетчеризация метода происходит на основе всех аргументов, а не только одного.
- В JavaScript универсальная функция — это функция, которая может работать со значениями разных типов.
Полный текст статьи: