Есть много разных способов сделать это.
Вызов метода непосредственно в классе
Class1
class Class1{
public function Class1(){
var class2:Class2 = new Class2(); //create a new Class2 object
class2.CallMe(); //call the CallMe function on Class2, note the . to indicate CallMe is a property of Class2
}
}
Class2
class Class2{
public function Class2(){ //class 2 constructor. This is always called when you create a new Object()
}
public function CallMe():void{ //note this function is public
trace("I'm class 2");
}
}
Передать ссылку на функцию из другого класса
Class1
class Class1{
public function Class1(){
var class2:Class2 = new Class2(this.CallBack); //create a new Class2 object
//note I didn't add () to the end of CallBack, I just used the function name
}
private function CallBack(aString:String):void{ //note we can use private here
trace(aString) //I'm from Class2
}
}
Class2
class Class2{
public function Class2(aFunction:Function){ //class 2 constructor. Here we an accept the function
aFunction("I'm from Class2"); //note I can pass a string back to class1
}
}
Вы также можете расширять классы и вызывать методы в суперклассе
Class1
class Class1 extends Class2{
public function Class1(){
super.CallFromClass(); //I'm super
}
}
Class2
class Class2{
public function Class1(){
}
public function CallFromClass():void{
trace("I'm super");
}
}
Посмотрите эту ссылку для дальнейшего чтения:
http://www.adobe.com/devnet/actionscript/articles/oop_as3.html