Показать сообщение отдельно
  #7 (permalink)  
Старый 14.04.2013, 20:15
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

Сообщение от father_gorry
Нельзя наследовать функции? Хорошо, буду наследовать объекты.
именно, тут ПРОТОТИПНОЕ наследование..

ты создаешь класс (функцию), и задаешь для неё ПРОТОТИП, ЭТАЛОН так сказать, от которого будут все наследовать если различия не указаны явно.


function Animal(){
   this.animal = true;
}

function Cat(){
  this.cat = true;
}

Cat.prototype = new Animal; // Укажем, что эталоном для Котов будет Животное (создадим его в специальное свойство конструктора котов, таким образом все созданные этим конструктором коты будут ровняться на это животное и стараться быть похожими на него ([B]даже если оно видоизменится кстати[/B]) )

new Cat().animal // true
new Cat().cat // true



тадаааа


терь покажу какой в этом прикол

function Animal(){
   this.animal = true;
}

function Cat(){
  this.cat = true;
}

Cat.prototype = new Animal; 

new Cat().ololo // unefined   - НИ У КОТОВ НИ У ЖИВОТНЫХ НЕТ ТАКОГО СВОЙСТВА 

// что ж все коты будут походить на то эталонное животное которое мы создали в свойство prototype конструктора говорите? хм..

  // ну хорошо, тут щас лежит животное, эталон, так сказать для котов,  добавлю ка я ему свойство. проверим появится ли оно у котов?
Cat.prototype.ololololololo = 11;
new Cat().ololololololo //11


// хм прикольно, а что если я уже создал 900000 котов, и ТОЛЬКО ПОСЛЕ ЭТОГО добавил в в их прототип новое свойство.. появится ли оно У УЖЕ СОЗДАННЫХ ДДООО этого котов?

Последний раз редактировалось megaupload, 14.04.2013 в 20:25.
Ответить с цитированием