Показать сообщение отдельно
  #9 (permalink)  
Старый 16.03.2014, 18:07
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Кстати, тут ни разу не множественное наследование, у тебя всегда один суперкласс.


Сообщение от nerv_
Куда писать те свойства, кот. должны быть созданы для каждого экземпляра, как не в конструктор?
Либо инициализирующий метод, либо отдельно set-метод для каждого свойства/группы свойств, что мне кажется лучше. Это намного нагляднее, чем искать что там произошло после super.apply.


Сообщение от nerv_
Сообщение от Octane
Единственное неудобство в instanceof, но можно воспользоваться isPrototypeOf
я бы не стал так утверждать)
Можно подробнее в чем проблема?
var Animal = {};

var Mammal = Object.create(Animal);

var Cat = Object.create(Mammal);

var barsic = Object.create(Cat);

alert(Animal.isPrototypeOf(barsic)); // true
alert(Mammal.isPrototypeOf(barsic)); // true
alert(Cat.isPrototypeOf(barsic));    // true



Сообщение от nerv_
Сообщение от Octane
Кроме как в конструкторе, ссылка super чаще всего бывает нужна только в выдуманных примерах, а тут нет конструкторов.
Что то я тебя не понял Если есть необходимость в множественном наследовании, то ссылка нужна и на мой взгляд удобнее, чем Object.getPrototypeOf(object)
Вместо
Cat._super.prototype.destroy.call(this);

будет
Object.getPrototypeOf(Cat).destroy.call(this);
разве что в большем количестве символов неудобство


Сообщение от nerv_
А еще у нас есть дескрипторы.
Да дескрипторы у тебя это так наворот к классическому примеру с наследованием, для меня в этом нет никакого академического интереса.

Последний раз редактировалось Octane, 16.03.2014 в 18:52.
Ответить с цитированием