![]() |
|
||||||||||
|
|||||
|
С точки зрение тру-флешеризма нужно писать
верно?
Интересует 2 вещи: 1) А если у меня цепочка: Class1 extends Class2 extends Class3 чтобы в Class1 вызвать методы Class3 по логике super`а нужно писать super.super.method3(), только вот так нельзя - ругается. Тогда пишем как - super.method3() или даже просто method3()? 2) Ситуация: Класс наследуется от класса, который наследуется от EventDispatcher`а. Правильней нужно поставить super.addEventListener, однако нельзя вызвать после использования super ещё и конструктор суперкласса - что делать?
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
1) Вызываем method3 класса Class2, который в свою очередь вызывает method3 у Class3. Всё через super.
2) Если оно асинхронное, то нафига что-то втыкать до вызова супер-конструктора? |
|
|||||
|
Modus ponens
|
Вообще, в конструкторе лучше либо ничего не писать, либо самый минимум. Конструктор - это самая медленная функция в классе изза того, что каждый раз она по-новому прочитывается (остальные функции раз скомпилировали JIT'oм и используем готовые). Да и ограничения на порядок вызова тоже не самое лучшее - вобщем, если в конструкторе нужна какая-то логика, легче ее всю завернуть в отдельную функцию и вызвать из конструктора чем потом сталкиваться с подобного рода проблемами.
__________________
Hell is the possibility of sanity |
|
|||||
|
Цитата:
Я так понимаю что просто если метод в этом классе, то this.thisClassMethod(), а если в суперклассе или "выше" - то super.mySuperClassMethod()? Уже кстати понимаю сторонников писать this везде, где нужно) Кстати, про this - я пишу this.myMethod() или this.myPole - если это члены класса, а если это локальные переменные в методе писать this не нужно, верно? Цитата:
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
super в методах нужно писать там где необходимо, имхо. Так же как и this. В конструкторе всегда.
Цитата:
Естественно не нужно. Цитата:
![]() Никогда не понимал сторонников загромождения своего кода различными ненужностями, которые якобы улучшают читаемость и понятность. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Цитата:
![]() И кому оно отправляется в конструкторе, мм? |
|
||||||
|
Цитата:
Цитата:
![]() Цитата:
Цитата:
Цитата:
Просто забавно, что код "идеологически" неверный работает, а идилогически верный - нет ![]() Дак что с методами суперкласса суперкласса? Просто super.myMethod() ?
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
|
|
|||||
|
Кстати, в коде далеко не глупых ребят всё чаще встречаю
без override`а addEventListener`а. Сам я с некоторых пор этой темы пишу Да и вообще, любое свойство и метод определенный в базовом классе пишу через super. Как правильно? Ещё заметил, что mxmlc не хочет компилировать конструкцию Однако, компилируется. У меня бета, из за этого или есть какая-то фишка?
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
super для методов а не свойств.
__________________
Отряд Котовскага |
![]() |
![]() |
Часовой пояс GMT +4, время: 09:51. |
|
|
« Предыдущая тема | Следующая тема » |
|
|