Показать сообщение отдельно
  #15 (permalink)  
Старый 15.12.2012, 09:28
Профессор
Посмотреть профиль Найти все сообщения от godofjavascript
 
Регистрация: 11.12.2012
Сообщений: 265

Теперь собственно зачем это нужно, за тем чтобы конструктор был таким же методом как и все остальные и тоже наследовался.

Иначе мы не сможем сделать нормальное наследование. Например:
function Button (){
    document.createElement('div')
}

function Toggle (){
   /* бла бла бла преключатель на основе кнопки */ 
}
Toggle.prototype = new Button;


ТАК ШТОЛЕ НАМ НАСЛЕДОВАНИЕ ДЕЛАТЬ? Вот и я про то, конструктор должен быть методом (в нашем случае это протектед метод __construct который наследуется и скрытый)


А так же затем чтобы можно было удобно обращаться к перекрытым родительским методам через this.super().

а не так :

this.run = function(){
  Object.getPrototypeOf(this).run.apply(this,arguments);
  alert('...and jump')
}


все, больше у этой байды назначений нет. если вы не пользуете наследование в своих проектах то Class и нахуй не нужна.

И вообще, для тех кто не понимает что такое ооп и что такое классы вообще, чтобы вы не плакались, замените название функции на Type.

Последний раз редактировалось godofjavascript, 15.12.2012 в 09:34.
Ответить с цитированием