Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 03.01.2016, 21:55
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

Сообщение от googlecallback Посмотреть сообщение
В чем гемор?
В самом простом случае вызов родительского метода выглядит так:
...
method1: function(...) {
  ParentClass.prototype.method1.call(this, ...);
},
...
вроде ничего страшного, но выглядит как-то не очень, и родительский класс напрямую упоминается, если менять, то по всему коду.

есть ещё всякие реализации классов, там этих проблем нет, но реализовано через костыли.

В новых классах всё просто:

...
method1: function(...) {
  super.method1(...);
},
...
и this передается как надо, и родительский класс не упоминается
Ответить с цитированием
  #32 (permalink)  
Старый 03.01.2016, 21:59
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

Сообщение от googlecallback Посмотреть сообщение
Классы нельзя считать первоклассными сущностями уже потому, что их протокол отличается от объектного.
не очень понял насчет "протокола", но классы можно передавать в параметры функций, возвращать через return, создавать "на лету". Вроде как этого достаточно для "объектов первого класса"
Ответить с цитированием
  #33 (permalink)  
Старый 03.01.2016, 21:59
Интересующийся
Посмотреть профиль Найти все сообщения от googlecallback
 
Регистрация: 03.01.2016
Сообщений: 18

Сообщение от Яростный Меч
В самом простом случае вызов родительского метода выглядит так:
Это какое то феерическое говно. Родительский метод наследуется, поэтому вызов foo.bar(), а внутри методов function(){this.bar()}. Не ожидал от вас такого даже, на первый вгляд мне показалось, что Вы разбираетесь.
Ответить с цитированием
  #34 (permalink)  
Старый 03.01.2016, 22:05
Интересующийся
Посмотреть профиль Найти все сообщения от googlecallback
 
Регистрация: 03.01.2016
Сообщений: 18

Сообщение от Яростный Меч
Вроде как этого достаточно для "объектов первого класса"
Первоклассные объекты языка -- да (да и то еще вопрос, ибо требуют строгого режима), но первоклассные объекты в смысле ООП -- нет. Напимер, строки -- тоже первоклассные объекты, но не полноценные.
Ответить с цитированием
  #35 (permalink)  
Старый 03.01.2016, 22:24
Аватар для vasa_c
Профессор
Отправить личное сообщение для vasa_c Посмотреть профиль Найти все сообщения от vasa_c
 
Регистрация: 12.03.2008
Сообщений: 183

Я не часто на этом форуме бываю, но как я понял, здесь максимаксимус с самим собой дискутирует?
Ответить с цитированием
  #36 (permalink)  
Старый 03.01.2016, 22:26
Интересующийся
Посмотреть профиль Найти все сообщения от googlecallback
 
Регистрация: 03.01.2016
Сообщений: 18

vasa_c,
Ты даже до его уровня не дорос, не обольщайся
Ответить с цитированием
  #37 (permalink)  
Старый 03.01.2016, 22:28
Аватар для vasa_c
Профессор
Отправить личное сообщение для vasa_c Посмотреть профиль Найти все сообщения от vasa_c
 
Регистрация: 12.03.2008
Сообщений: 183

googlecallback, да я разве где-то пытался утверждать обратное? упаси осподи.
Я просто поинтересовался, чтобы случайно не вляпаться.
Ответить с цитированием
  #38 (permalink)  
Старый 03.01.2016, 22:36
Интересующийся
Посмотреть профиль Найти все сообщения от googlecallback
 
Регистрация: 03.01.2016
Сообщений: 18

Сообщение от Яростный Меч
не очень понял насчет "протокола"
Грубо говоря, единый протокол означает поддержку единого интерфейса. Если, к примеру, Вы не можете сделать myClass.foo = bar, значит классы не поддерживают объектный протокол в полной мере
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ссылка на объект через агрумент kuzroman Events/DOM/Window 4 03.11.2015 22:57
определение времени при событии mouseOver greenred Events/DOM/Window 1 13.02.2012 23:28
как заполнить объект через цикл? daniel20 jQuery 1 29.12.2011 11:22
Получить объект содержащий caller no_alex Общие вопросы Javascript 14 20.03.2009 21:37
XMLHTTPRequest передача имя через POST dds AJAX и COMET 0 14.08.2008 14:44