LINUX.ORG.RU

История изменений

Исправление iZEN, (текущая версия) :

Мультиметоды реализуются не только на основе определения типа:

Глава 7. Мультиметоды

Выше мы говорили о протоколах: они вводят часто используемую, но ограниченную форму полиморфизма - с выбором метода на основе типа. В этой главе мы исследуем мультиметоды (multimethods), позволяющие выбирать реализацию не только на основе типа аргумента, но на некоторых других показателях, никак не связанных с типами. То есть выбор той или иной реализации мультиметода может быть организован, как функция от любого свойства аргумента, без каких-либо привелегий одних перед другими. Кроме того, мультиметоды поддерживают произвольные иерархии и предоставляют различные способы устранения неоднозначностей при множественном наследовании.
«Программирование на Clojure. Практика применения Lisp в мире Java», Кристоф Гранд, Брайан Карпер, Чаз Эмерик, 2013г.

Исходная версия iZEN, :

Мультиметоды реализуются не только на основе определения типа:

Глава 7. Мультиметоды

Выше мы говорили о протоколах: они вводят часто используемую, но ограниченную форму полиморфизма - с выбором метода на основе типа. В этой главе мы исследуем мультимедоды (multimethods), позволяющие выбирать реализацию не только на основе типа аргумента, но на некоторых других показателях, никак не связанных с типами. То есть выбор той или иной реализации мультиметода может быть организован, как функция от любого свойства аргумента, без каких-либо привелегий одних перед другими. Кроме того, мультиметоды поддерживают произвольные иерархии и предоставляют различные способы устранения неоднозначностей при множественном наследовании.
«Программирование на Clojure. Практика применения Lisp в мире Java», Кристоф Гранд, Брайан Карпер, Чаз Эмерик, 2013г.