Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.09.2011, 22:12
Seagull вне форума Посмотреть профиль Отправить личное сообщение для Seagull Найти все сообщения от Seagull
  № 1  
Ответить с цитированием
Seagull

Регистрация: Jun 2011
Сообщений: 18
По умолчанию Что такое super в перегруженных функциях? Вопрос быстродействия.

Что есть этот super.methode()? Это банально вызов метода из базового класса, Со всеми накладными расходами? Или это синтаксический сахар от компилятора?

Ибо вычитал:
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
Насчёт this везде ещё соглашусь, однако с точки зрения ООП super всё таки при вызове методов суперкласса писать нужно. Байткод разный получается, так что... лучше переучиваться
Байткод разный потому что так - мы работаем с конкретной функцией, а если явно не указали то в рантайме идёт нисходящий поиск по родителям? По хранимым (а они хранятся, насколько я знаю) именам методов классов?


Кроме того там же вычитал про медленность конструктора. Мол он каждый раз просчитывается.

Цитата:
Сообщение от wvxvw Посмотреть сообщение
Вообще, в конструкторе лучше либо ничего не писать, либо самый минимум. Конструктор - это самая медленная функция в классе изза того, что каждый раз она по-новому прочитывается (остальные функции раз скомпилировали JIT'oм и используем готовые). Да и ограничения на порядок вызова тоже не самое лучшее - вобщем, если в конструкторе нужна какая-то логика, легче ее всю завернуть в отдельную функцию и вызвать из конструктора чем потом сталкиваться с подобного рода проблемами.

Вообще, поделитесь, люди умные инфой где ТАКОЕ можно найти, или на какие грабли лучше не наступать. И вообще за я почему-то считаю, что программист обязан разбираться не только в том что происходит, но и в том как... Хотя бы простейшем уровне. Вот только спрятали всё это, не найду, поделитесь пожалуйста хотя бы ссылочками. Благодарю.
__________________
_____
Почему-то перманентно чувствует себя лезущим куда-то не туда занудой. Тяжёлый случай. >.<

Старый 07.09.2011, 22:18
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 2  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Цитата:
Байткод разный потому что так - мы работаем с конкретной функцией, а если явно не указали то в рантайме идёт нисходящий поиск по родителям? По хранимым (а они хранятся, насколько я знаю) именам методов классов?
То писалось мной давно и в шутку. Байткод получается действительно разный, но по быстродействию - писать this.method, super.method или method - одинаково. Если, конечно, все три варианта являются одной и той же переменной

Цитата:
Сообщение от wvxvw
Вообще, в конструкторе лучше либо ничего не писать, либо самый минимум. Конструктор - это самая медленная функция в классе изза того, что каждый раз она по-новому прочитывается (остальные функции раз скомпилировали JIT'oм и используем готовые). Да и ограничения на порядок вызова тоже не самое лучшее - вобщем, если в конструкторе нужна какая-то логика, легче ее всю завернуть в отдельную функцию и вызвать из конструктора чем потом сталкиваться с подобного рода проблемами.
По этому поводу я даже тему открывал, можете поискать.

Создать новую тему Ответ Часовой пояс GMT +4, время: 16:14.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 16:14.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.