PDA

Просмотр полной версии : Вызов методов из разных классов


tandem
01.12.2009, 20:35
Есть главный класс документа (Main). Есть второй класс, где описываются запросы к серверу (XMLreq).

Как правильно организовать это взаимодействие?

Если описываешь обработчики событий для XMLreq в нем же, то они не могут вызывать методы из Main, если описываешь обработчики в Main, то они не могут вызваться из XMLreq... Не совсем понимаю конструкции правильного составления кода. Ведьмины круги какие-то получаются.

Помогите пожалуйста встать на правильный путь! :confused:

flash33
01.12.2009, 21:06
В конструкторе класса XMLreq сделайте параметр-ссылку на main класс и создайте его в main, типа
var myXMLreq = new XMLreq(this);
В обоих классах создайте публичные методы и обращайтесь к ним типа
myXMLreq.myMethod1();
main.myMethod2();Как то так...

tandem
01.12.2009, 22:20
В конструкторе класса XMLreq сделайте параметр-ссылку на main класс и создайте его в main, типа
var myXMLreq = new XMLreq(this);
В обоих классах создайте публичные методы и обращайтесь к ним типа
myXMLreq.myMethod1();
main.myMethod2();Как то так...

А параметр ссылку на главный класс как прописать? :rolleyes:

flash33
02.12.2009, 00:31
Вот так и пишите
var myXMLreq = new XMLreq(this);
в Main, а конструктор XMLreq будет выглядеть так

..........
private var main;
public function XMLreq(reference:Object){
........
main = reference;
}

tandem
02.12.2009, 00:42
Ну тут вроде более-менее понятно, а вот че-то в XMLreq переменные private из класса Main не видятся. Почему?

flash33
02.12.2009, 00:51
ну.... потому что они приватные :D

tandem
02.12.2009, 01:02
ну.... потому что они приватные :D

менял на public, public static - ноль эмоций

kilotsun
02.12.2009, 17:05
Попробуйте через собственные события:


dispatchEvent( new Event("строка") ); // XMLreq


и в главном классе цепляем обработчик этого события к объекту XMLreq