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

prihod 12.07.2010 12:00

Доступ к объектам родительского класса
 
Есть к примеру 3 класса TMain, TMenu, TMenuItem
Где TMain – основной класс который содержит в себе объект класса TMenu
TMenu – класс меню который содержит в себе массив объектов TMenuItem, которые представляют собой кнопки меню.
Так вот у меня вопрос как правильно организовать доступ к другим объектам и функциям содержащимся в TMain при клике по кнопки меню .
На ум приходят 3 варианта:
1) Передавать в конструктор TMenu и TMenuItem ссылку на TMain
2) В TMain сделать public static переменную которая бы содержала ссылку на TMain
3) Создать свои сообщения клика по кнопки меню для TMenu которые затем обрабатывать в TMain

Diestro 12.07.2010 12:03

третий

i.o. 12.07.2010 12:04

3) Событийная модель
или
4) Callbacks

prihod 12.07.2010 12:10

При 3-м варианте нужно обработчик события клика для TMenuItem создавать в TMenu
чего не хотелось бы делать вне TMenuItem.
i.o. , а можно поподробней про 4-й вариант

Diestro 12.07.2010 12:14

Цитата:

Сообщение от prihod (Сообщение 921541)
При 3-м варианте нужно обработчик события клика для TMenuItem создавать в TMenu чего не хотелось бы делать вне TMenuItem.

Чего? Не совсем понял.
Вам достаточно в TMenuItem диспатчить события с баблингом. И подписаться на них можете единожды в TMenu и там же обрабатывать.

prihod 12.07.2010 12:17

Цитата:

Чего? Не совсем понял.
Вам достаточно в TMenuItem диспатчить события с баблингом. И подписаться на них можете единожды в TMenu и там же обрабатывать.
А как мне в TMenu получить доступ к объектам TMain ?

Diestro 12.07.2010 12:22

О зачем меню что то должно знать о том что происходит вокруг него? Меню должно знать только об айтемах которое оно содержит.

prihod 12.07.2010 12:54

Что то я не пойму, что такое айтема?

Diestro 12.07.2010 13:08

это Item.
А что меню должно брать из Main?

prihod 12.07.2010 13:31

Обьект Video


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

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