![]() |
|
||||||||||
|
|||||
|
Регистрация: Jul 2007
Адрес: Россия, Москва
Сообщений: 522
|
2 cleptoman:
Цитата:
2 etc: Цитата:
По поводу использования super везде, моё мнение схоже с Котяра. Хотя, опять же, это, наверно, дело вкуса, кому-то, может быть, удобнее писать super везде. Если такие есть, то мне интересно, пишете ли вы super.addChild, или super.graphics, или super.mouseX или super.contains? |
|
|||||
|
Это случай на миллион, когда вдруг внезапно потребовалось что-то изменить, да так, чтобы у всех. Случай на 10 тысяч это когда конкретному блоку кода нужно вдруг другое поведение, а не всем в целом - тут уже переопределяем метод и не парим голову по поводу того, что в 40 местах это поведение вдруг изменилось.
В моей практике как-то так. Миллион бывает реже, поэтому я пишу super. А учитывая что мне с ним когда читать легче - мой выбор очевиден. А начиналось с моды..) Кошмарик, да. Я даже super.stage пишу ))
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Цитата:
Пишу. |
|
|||||
|
ё мое...сколько лишних букв,
![]() super, this - это же идентификаторы области видимости в классе и только... Представляю, во что бы превратился код на с++ (там используется конструкция "ИмяКласса::" либо просто "::") если для "понятливости" везде писали эти конструкции... Все равно не понимаю, зачем тогда переопределять данный метод, если поведение его вдруг поменяется в 40 местах, не проще ли написать тогда новый? Ведь переопределять надо так, чтобы логика не менялась... |
|
|||||
|
Если логика не меняется - и переопределять не надо.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Лишние буквы — плохо!
по уровню сигнал/шум намного хуже чем, Ещё раз — лично моё имхо и ничего более ![]() Я и this не пишу без явной надобности.. f4 спасает, хотя при использовании интерфейсов/базовых классов — ничего не спасает ![]() UPD и честно говоря, меня мало волнует - пишут super/this или нет, главное чтоб код был понятен и нормально организован, и хотя бы в основном соблюдал конвенции, а эти мелочи — дело десятое.
__________________
Отряд Котовскага Последний раз редактировалось Котяра; 01.10.2010 в 00:53. |
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Если вы всюду пишете super, то это значит, что вы хотите, чтоб по умолчанию вызывался метод старшего в иерархии класса, даже если этот метод переопределён. Т.е. чтоб был не super, а notSuper, а поведение с super было по умолчанию. Но это бред и такого нет ни в одном языке, ибо полиморфизм и инкапсуляция.
super означает, что по каким-то очень специальным причинам вызывается не переопределённый в классе метод, а метод родителя. И пока этот метод не переопределён, то нечего писать супер, т.к. методы вообще переопределяются (а не пишутся другие) для того, чтоб их переопределённые вызывали. this означает, что дёргается не локальная/глобальная переменная/функция, а именно поле/метод этого класса (и значит, похоже, тут есть локальная переменная с таким же именем и надо быть поосторожнее).
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
@-De-
Отлично сказано!
__________________
Отряд Котовскага |
|
|||||
|
Зайдём с другой стороны.
Люди пишут this чтобы сразу отличать локальные переменные от полей. this.addChild я считаю безграмотным. Да, он доступен в этом скоупе. Но в this его никто не объявлял.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Psycho Tiger, по-моему зло везде this лепить. Лучше уж тогда венгерская нотация - m перед всеми членами класса и всё видно и писать меньше. Там, где надо подчеркнуть, что это именно член класса - да (ну или просто без this работать не так будет). Но если опасаешься путаницы с локальными, то это по-моему повод на полсекунды задуматься, всё ли так в методе.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
![]() |
![]() |
Часовой пояс GMT +4, время: 17:16. |
|
|
« Предыдущая тема | Следующая тема » |
|
|