Показать сообщение отдельно
  #100 (permalink)  
Старый 07.04.2009, 20:50
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

"Примеси" (обычным расширением). Но физически это, всё-же, расширение, а не ссылки на объект-"примесь" (как, например, в Ruby). Примеси позиционируются как альтернатива множественному наследованию.

В Java, альтернатива - интерфейсы, реализация которых, - есть полное описание (имплементация) методов этих интерфейсов; в JS того же можно добиться обычным написанием этих методов (или "подмешиванием").

update:

Если "js-кроссдвижковость" не столь важна (а именно - код пишется под Mozilla'вцев, Spider Monkey), то можно подключить механизм с __noSuchMethod__, в котором устроить нужную диспетчеризацию по дополнительным родителям (в __noSuchMethod__ управление передастся, когда вся цепь прототипов будет просмотрена, и нужный метод не будет найден).
__________________
Тонкости ECMAScript

Последний раз редактировалось Dmitry A. Soshnikov, 07.04.2009 в 21:41. Причина: дополнения
Ответить с цитированием