Показать сообщение отдельно
Старый 07.05.2010, 16:24
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 28  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
В самой начале цепочки наследования, т.е. насколько я понял i.o. хочет чтобы метод, не найденный наверху искался снизу. По мне и слава богу, что не ищется.

orcpochta, вопрос вообще не понял. По дефолту, если мы не пишем this или super поиск идёт среди локальных переменных. Не нашли? Поднимаемся выше. Ищем в полях класса. Не нашли? Идём в суперкласс. И там не нашли? Идём в суперкласс суперкласса. Когда пишем this или super мы уже фактически однозначно говорим, какой метод из многих потенциальных мы хотим вызвать. Я лично super пишу, this не пишу - у меня очень редко совпадают имена локальных переменных с именами полей класса. Почему пишу super? Потому что, например, в классе унаследованном от Sprite`а мне вдруг захочется перекрыть нафиг сеттеры x и y. Зачем - не знаю, как пример говорю. Перекрываю я их - и надо переписывать весь класс под super.x и super.y. Поэтому пишу сразу - я ведь однозначно знаю, что в этой задаче мне нужен будет именно тот x, который определен в Sprite.