Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как записать ссылку на объект вызывающий статическую функцию? (http://www.flasher.ru/forum/showthread.php?t=177875)

Universe 10.04.2012 17:12

Как записать ссылку на объект вызывающий статическую функцию?
 
Есть класс со статической функцией...в эту функцию необходимо каждый раз передавать того кто её вызывает, т.е. this. А можно ли как то в аргументах самой функции записать по умолчанию ссылку на объект, вызывающий данную функцию, как бы this, но всегда разный?:)

-De- 10.04.2012 17:14

Для этого были придуманы не статические функции (и ООП вообще).

dsQuadro 10.04.2012 17:37

присоединяюсь к вопросу.
2-De-: ок, а если функция не статическая как такое реализовать?

-De- 10.04.2012 17:49

Ээ а чем статическая функция отличается от не статической?
Кроме идеологии - собсно наличием this)

dsQuadro 10.04.2012 17:56

так поэтому и спросил... может мы по разному понимаем вопрос топикстартера?
я его понимаю так: как получить ссылку на внешний объект, который обращается к статичному(публичному) методу, из этого метода?

ramshteks 10.04.2012 18:08

самое простое сделать обертку для статического метода:
Код AS3:

protected function method(params):*{
return OBJECT.staticMethod(this, params);
}


-De- 10.04.2012 18:13

Ну так если бы эта функция была бы членом класса этого обьекта, а не статической, то её можно было бы просто вызвать и у неё на халяву бы присутствовал this.

strangedk 10.04.2012 22:27

А что мешает сделать как например MonsterDebugger.trace ?

Статический метод, а в него уже передаются все необходимые параметры.
Не вижу смысла делать в статическом методе параметры по умолчанию.


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

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