A加载B,B发生的变化

A取名为TestA,编译后有TestA.swf. TestA里面有一个类叫SayHello(见下图)

 

B取名为TestB,编译后有TestB.swf. TestB里面有一个跟TestA同样的类SayHello(包名和类名都一样)。稍微修改下TestB的SayHello(见下图)

 

接下来用TestA加载TestB,看看TestB的SayHello的say()会输出什么

public function TestB()
{
    var say:SayHello=new SayHello();
    say.say();
}
public function TestA()
{
            init();
}
        
private function init():void
{
    var loader:Loader=new Loader();
    addChild(loader);
    loader.load(new URLRequest("TestB.swf"));
}

>>>hello B

 

输出正常。下面再修改下:

private function init():void
{
    var loader:Loader=new Loader();
    addChild(loader);
    loader.load(new URLRequest("TestB.swf"));
        
        //TestA的SayHello      
    var say:SayHello=new SayHello();
    say.say();
}

>>>hello A

>>>hello A

咦!怎么TestB也输入“hello A”了?

 

 

 

posted @ 2014-04-24 17:40  飞翔的胖  阅读(186)  评论(0编辑  收藏  举报