Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 01.07.2008, 13:01
paxcox вне форума Посмотреть профиль Отправить личное сообщение для paxcox Найти все сообщения от paxcox
  № 1  
Ответить с цитированием
paxcox

Регистрация: Feb 2008
Сообщений: 12
По умолчанию Межклассовое взаимодействие

Недавно столкнулся с такой штуковиной:
Есть класс A в его некотором методе создается экземпляр класса B, далее есть класс F в некотором методе которого нужно получить ссылку на этот экземпляр класса B, того самого что создан в классе A.
Использование Singleton'а не катит. Передача экземпляра через конструкторы тоже не подходит. Что же делать?

Старый 01.07.2008, 13:03
crazyone вне форума Посмотреть профиль Отправить личное сообщение для crazyone Найти все сообщения от crazyone
  № 2  
Ответить с цитированием
crazyone
 
Аватар для crazyone

блогер
Регистрация: Nov 2007
Адрес: Киев
Сообщений: 557
Записей в блоге: 2
Опишите структуру поподробнее. Как связаны классы/объекты классов A и F?

Старый 01.07.2008, 13:41
paxcox вне форума Посмотреть профиль Отправить личное сообщение для paxcox Найти все сообщения от paxcox
  № 3  
Ответить с цитированием
paxcox

Регистрация: Feb 2008
Сообщений: 12
Ну грубо говоря, в классе А создаются мувики в контейнере, по событию onPress каждого мувика для каждого из них создается экземпляр класса B (здесь создаются другие мувики). D методе b1 класса B создается экземпляр класса F (этот класс двигает мувики класса B из точки в точку). Далее по аналогичному событию onPress мувиков, созданных в классе B, они: 1) должны двигаются в обратном направлении (т.е. создавать новый экземпляр класса F), 2) должны создавать экземпляр класса С(там создаются еще мувики). Далее в методе с1 класса С надо: 1) Создать новый экземпляр класса F, 2) получить ссылку на мувиклипы которые были созданы в экземпляре класса A () для получения доступа к их событиям onPress. Иными словами нужен некий callback

Старый 01.07.2008, 14:07
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 4  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Сообщение от paxcox Посмотреть сообщение
Ну грубо говоря, в классе А создаются мувики в контейнере, по событию onPress каждого мувика для каждого из них создается экземпляр класса B (здесь создаются другие мувики). D методе b1 класса B создается экземпляр класса F (этот класс двигает мувики класса B из точки в точку). Далее по аналогичному событию onPress мувиков, созданных в классе B, они: 1) должны двигаются в обратном направлении (т.е. создавать новый экземпляр класса F), 2) должны создавать экземпляр класса С(там создаются еще мувики). Далее в методе с1 класса С надо: 1) Создать новый экземпляр класса F, 2) получить ссылку на мувиклипы которые были созданы в экземпляре класса A () для получения доступа к их событиям onPress. Иными словами нужен некий callback
Прямо индийское кино, все друг другу родственники и я ничего не понял.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 01.07.2008, 13:55
tikhop вне форума Посмотреть профиль Отправить личное сообщение для tikhop Найти все сообщения от tikhop
  № 5  
Ответить с цитированием
tikhop

Регистрация: Jul 2006
Сообщений: 170
Цитата:
Сообщение от paxcox Посмотреть сообщение
Недавно столкнулся с такой штуковиной:
Есть класс A в его некотором методе создается экземпляр класса B, далее есть класс F в некотором методе которого нужно получить ссылку на этот экземпляр класса B, того самого что создан в классе A.
Использование Singleton'а не катит. Передача экземпляра через конструкторы тоже не подходит. Что же делать?
Меня тоже интересует этот вопрос.
1) использовать синглетон (что не оч хочется)
2) обращаться к статической функции класса А, которая возвращала бы ссылку на экземпляр класса В и уже в классе F работать с этой ссылкой....

Но мне кажется есть более умный способ...

Старый 01.07.2008, 14:13
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 6  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Создай массив в классе A и туда добавляй созданные экземпляры класса B. Потом с этим массивом работай в классе C.

Старый 01.07.2008, 14:19
crazyone вне форума Посмотреть профиль Отправить личное сообщение для crazyone Найти все сообщения от crazyone
  № 7  
Ответить с цитированием
crazyone
 
Аватар для crazyone

блогер
Регистрация: Nov 2007
Адрес: Киев
Сообщений: 557
Записей в блоге: 2
Цитата:
Прямо индийское кино, все друг другу родственники и я ничего не понял.
Я, кстати, тоже =)

Цитата:
Иными словами нужен некий callback
Ну раз нужен callback, так и создавайте его. Класс Delegate вам в помощь.
Как передать ссылку на этот callback в класс F - это уже вам решать. В конструкторе, или отдельным методом, или еще как... В чем у вас проблема-то?

Старый 01.07.2008, 14:49
Alex_beginner вне форума Посмотреть профиль Отправить личное сообщение для Alex_beginner Найти все сообщения от Alex_beginner
  № 8  
Ответить с цитированием
Alex_beginner
 
Аватар для Alex_beginner

Регистрация: May 2008
Сообщений: 476
paxcox! Вы очень подробно изложили алгоритм - я уверен, что у Вас есть исходничек. Пожалуйста выложите его здесь. Уверен, что критики не будет .
Будет оказана помощь.
__________________
Случайность, господа, это знаете ли непознанная необходимость.

Старый 03.07.2008, 13:24
paxcox вне форума Посмотреть профиль Отправить личное сообщение для paxcox Найти все сообщения от paxcox
  № 9  
Ответить с цитированием
paxcox

Регистрация: Feb 2008
Сообщений: 12
Цитата:
Класс Delegate вам в помощь.
Он для компонентов
Цитата:
Вы очень подробно изложили алгоритм - я уверен, что у Вас есть исходничек. Пожалуйста выложите его здесь.
Там 15 классов))
короче говоря, внятно прочитав модель делегирования событий мука, вопрос отпал

Старый 03.07.2008, 13:27
crazyone вне форума Посмотреть профиль Отправить личное сообщение для crazyone Найти все сообщения от crazyone
  № 10  
Ответить с цитированием
crazyone
 
Аватар для crazyone

блогер
Регистрация: Nov 2007
Адрес: Киев
Сообщений: 557
Записей в блоге: 2
Цитата:
Он для компонентов
В каком смысле?

Создать новую тему Ответ Часовой пояс GMT +4, время: 20:39.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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