Показать сообщение отдельно
  #22 (permalink)  
Старый 02.03.2009, 21:50
Аватар для Pavel_Volodko
Интересующийся
Отправить личное сообщение для Pavel_Volodko Посмотреть профиль Найти все сообщения от Pavel_Volodko
 
Регистрация: 02.03.2009
Сообщений: 20

Сообщение от Kolyaj Посмотреть сообщение
Благополучно забыв, что в вашей статье описывается (т.е. читая вышеприведеный код без знания вашего механизма наследования), я не понимаю, что делают функции $class и самая первая.

Во-вторых, определение функций в конструкторе а-ля this.someMethod = function() {} создает для каждого объекта свой набор методов, вместо ссылок на прототип.
Ага! Значит, что делает функция $extends() понятно. Соответственно, не всё так плохо (имеется ввиду в моей "обёртке").

Первая функция - конструктор класса DerivedClass (исправил название класса в предыдущем посте).
Функция $class() - нужна для "финальной сборки" класса.

Об этом, правда, подробнее можно узнать из статьи. Нет смысла здесь дублировать.

Что касается "определение функций в конструкторе а-ля this.someMethod" - эту проблему тоже решает функция $class().
Функция someMethod создается только один раз для всего класса.

P.S. Спасибо за отзыв
Ответить с цитированием