Показать сообщение отдельно
  #10 (permalink)  
Старый 16.03.2014, 20:19
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от Octane
Кстати, тут ни разу не множественное наследование, у тебя всегда один суперкласс.
Согласен. Я выразился не совсем точно. Следовало бы переименовать в "многоуровневое" (например). А нативного множественного наследования в js нет, только mixin'ы.

Сообщение от Octane
Можно подробнее в чем проблема?
следуя общепринятым соглашениям по наименованию, с больших букв пишутся имена "классов". А раз это класс - это функция, следовательно можно использовать оператор new:
var Animal = {};

var Cat = Object.create(Animal);
      
var obj = new Cat();

console.log(obj);

Конечно, тут можно заявлять, что встроенные операторы языка нам не нужны, но если они есть, почему бы ими не воспользоваться?
Т.е. ты ломаешь то, что заложено в язык и к чему привыкли js-разработчики.

Сообщение от Octane
Да дескрипторы у тебя это так наворот к классическому примеру с наследованием
скорее как сахар. Признаться, я их тоже не люблю, но в одном проекте потребовались
Вместе с тем, считаю очень удобным то, что, например, приватные свойства
this._property;

можно делать неперебираемыми.

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

Впрочем, сколько людей, столько и мнений
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием