Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   MVC, ООП, AS3 учусь на примере 2D движка (http://www.flasher.ru/forum/showthread.php?t=208872)

Gerbert 15.09.2014 16:48

КорДум, Спасибо!

Цитата:

Я бы добавил, что передавать параметры через конструктор тоже не очень правильно, хотя и красиво
А это почему?

Babylon 15.09.2014 17:28

В добавлении к тому, что написал Кордум, при использовании new происходит еще и выделение памяти.А это процесс относительно не быстрый.

Gerbert 15.09.2014 18:51

А я как-то проверял, как будет быстрей new Class( args ) или new Class().setArgs( args ).
И оказалось, что первое немного пошустрей.

Babylon 15.09.2014 19:02

И как вы это делали?

MikroAcse 15.09.2014 19:19

Цитата:

new Class( args ) или new Class().setArgs( args ).
o_O

Лучший вариант:
Код AS3:

public function MyClass(arg1, arg2, arg3) {
    super();
    initialise(arg1, arg2, arg3);
}
 
protected function initialise(arg1, arg2, arg3):void {
    ...
}


Gerbert 15.09.2014 20:40

Цитата:

И как вы это делали?
Наверное, так же, как и все. Но если быть честным, то я не уверен про версию плеера.
Это было так давно, что я мог и в дебажной замер делать.

ntro123123 19.09.2014 15:48

MikroAcse а что такое super(); ? зачем он вызывается?

КорДум 19.09.2014 16:26

Цитата:

Сообщение от ntro123123 (Сообщение 1172242)
MikroAcse а что такое super(); ? зачем он вызывается?

Обязательный вызов суперконструктора. Даже если Вы не пишете его вызов, компилятор автоматически вставляет его.

nubideus 19.09.2014 17:59

Цитата:

Сообщение от КорДум (Сообщение 1172244)
компилятор автоматически вставляет его.

if(false)

Babylon 19.09.2014 20:10

Цитата:

Сообщение от КорДум (Сообщение 1171971)
Что? Зачем вообще нужны они, если в них не писать код? Просто, чтобы были?

Гораздо интереснее вопрос - "Сколько должно быть хэндлеров и нужно ли стремиться к минимизации их числа? И если нужно то, что лучше передавать в них название событий по наступлению которых они вызываются или имя функции, вызывающей ту или иную команду?"


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

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