Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Во что превращается this за пределами класса (http://www.flasher.ru/forum/showthread.php?t=138662)

pleomax 13.04.2010 16:47

Во что превращается this за пределами класса
 
С целью изучения копаюсь в чужих as исходниках.
В одном есть следующий кусок кода
Код AS3:

public function createWin():*
{
    ...
    return this;
}

Собственно я в недоумении, разве так можно делать?
Во что превращается результат вызова функции за пределами класса?
Чем он отличается от экземпляра класса?

Спасибо

udaaff 13.04.2010 16:52

А что тут криминального? this не во что не превращается. Как был ссылкой на текущий экземпляр класса так и будет.

iNils 13.04.2010 17:03

1: Кто последний в очереди?
2: Я (this)!
3: Кто последний в очереди?
1: Вот этот человек (показывая на второго.)

silin 13.04.2010 18:50

>>разве так можно делать?
безусловно можно, взять и раздать ссылки на себя всем, кто спросит,
но вопрос должен звучать как: стоит ли такое делать ?
имо, не стоит..

ShockWave512 13.04.2010 23:00

да не стоит, есть стандартные схемы получения ссылки на экземпляр класса
например через конструктор класса
Код AS3:

var o:Klass = new Klass();


Psycho Tiger 13.04.2010 23:16

Цитата:

безусловно можно, взять и раздать ссылки на себя всем, кто спросит
Но тут проблема - нужно иметь ссылку, чтобы спросить )
То есть бессмысленно.

udaaff 13.04.2010 23:24

Кстати, в методе присутствует многоточие, т.е. опущена какая-то логика. Поэтому говорить о бессмысленности возвращения this в контексте вопроса, как-то бессмысленно.

Psycho Tiger 13.04.2010 23:29

this то себя не поменяет, а чтобы вызвать метод, возвращающий this нужно иметь ссылку на него.
В итоге, мы возвращаем ссылку на объект через ссылку на этот объект. Практическое применение из других классов может быть а ля addChild
Код AS3:

(addChild(some_movie)).alpha=0.5;

однако, сомнительно.

udaaff 13.04.2010 23:32

Просто метод может возвращать не только ссылку на this, а и на другие объекты, в зависимости от логики.

Psycho Tiger 14.04.2010 00:23

А, точно, о return до конца метода не подумал.


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

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