Форум 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=140723)

Боня 06.06.2010 17:12

Лёгкое обращение к классу из любого другого.
 
Подскажите пожалуйста, можно ли сделать следующее:
У меня есть клас basic, у него есть функция something(); чтруктура следующая:
Код AS3:

basic.child1.chaild2;

Что бы обратиться к функции из chaild1 я пишу:
Код AS3:

parent.something();

Что бы обратиться к функции из chaild2 я пишу:
Код AS3:

parent.parent.something();

Суть в том что этот chaild2 может быть очень в сложной структуре, а мне нужно обратиться к функции класса basic. Можно ли как нибуть обойти эти parent.parent...?

NeonSelf 06.06.2010 21:55

Если структура: parent.parent.parent..... и т.д. - не меняется, можно заранее сохранить ссылку на функцию родителя в одном из параметров обьекта child, приблизительно так:

Код:

child.parentSomething:Function = parent.parent.parent.something;
однако если доходит до такого - стоит задуматься, возможно структура программы продумана не очень хорошо :(

Wolsh 07.06.2010 00:11

А я вообще не понял. Спрашиваете про классы, а в коде какие-то паренты.. Где связь?

expl 07.06.2010 02:09

Цитата:

parent.parent.something();
Класс хочет слишком много знать о своих родителях
Попробуйте вместо этой строчки кинуть событие (Event) c включенным баблингом
а в этом самом parente поймать его и выполнить something()
(листенер можно вешать прямо на парент - событие всплывет и вызовет листенер)

Т.е. пусть ребенок ничего не знает ни о каких something()


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

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