Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.02.2010, 03:11
Новичок на форуме
Отправить личное сообщение для js_noob Посмотреть профиль Найти все сообщения от js_noob
 
Регистрация: 28.02.2010
Сообщений: 2

наследование и prototype
Известно, что для наследования необходимо установить прототип:
function Animal() {}

function Cat() {}
Cat.prototype = new Animal();


Так вот вопрос, почему нельзя сделать так:
function Animal() {}

function Cat() {}
Cat.prototype = Animal.prototype; // смотреть на эту строчку


Если, можно укажите ссылки на раздел в спецификации, почему так. У меня только догадка, с установкой скрытого поля [[Prototype]]
Ответить с цитированием
  #2 (permalink)  
Старый 28.02.2010, 03:14
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сообщение от js_noob
Cat.prototype = Animal.prototype;
Так Cat.prototype и Animal.prototype будут ссылаться на один и тот же объект.
Ответить с цитированием
  #3 (permalink)  
Старый 28.02.2010, 09:12
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от js_noob
Так вот вопрос, почему нельзя сделать так:
можно.но только учтите что
Animal.prototype!=(new Animal())
Ответить с цитированием
  #4 (permalink)  
Старый 01.03.2010, 00:32
Кандидат Javascript-наук
Отправить личное сообщение для vk65535 Посмотреть профиль Найти все сообщения от vk65535
 
Регистрация: 21.11.2008
Сообщений: 114

Главным образом потому, что это будет уже не наследование.
(function() {

var A = function() {};
var B = function() {};
B.prototype = A.prototype;
B.prototype.extended = 42;
alert(new A().extended);

})();


По сути, это добавление альтернативного конструктора, если проводить аналогию с классическим ООП.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Наследование Fliand Events/DOM/Window 0 12.08.2009 20:48
Наследование в CSS SunnyDay (X)HTML/CSS 14 06.10.2008 20:06
Prototype v1.4.0 and Prototype v1.5.1_rc3 prihod Prototype & script.aculo.us 2 02.10.2008 16:08
наследование установок динамически создаваемыми элементами majestic jQuery 1 15.09.2008 13:21
проблема с передачей русского текста в Prototype subaru Prototype & script.aculo.us 2 26.07.2007 16:56