定义两个个命名空间(即为两个as文件):
ball.as
package{
//命名空间必须要和as保存的文件名相同,不然找不到
public namespace ball;
}
water.as
package{
//命名空间必须要和as保存的文件名相同,不然找不到
public namespace water;
}
使用命名空间的as文件
UseMySpace.as
package{
//当在同一个包下,就不需要显示导入包
//import ball;
//import water;
use namespace ball;
use namespace water;
public class UseMySpace{
ball function say():void{
trace("n1");
}
water function say():void{
trace("n2");
}
}
}
调用as文件,即主入口
Main.as
package{//当在同一个包下,就不需要显示导入包
//import UseMySpace;
//import ball;
//import water;
import flash.display.Sprite;
public class Main extends Sprite{
public function Main():void{
var foo:UseMySpace=new UseMySpace();
//也可以通过using namespace ball;来显示声明
foo.ball::say();
//也可以通过using namespace water;来显示声明
foo.water::say();
}
}
}
结论与思考:定义一个fla文件,在属性中的文档类中写入Main,然后运行影片,结果输出为:n1,n2 和预期相同,其实和我上一篇文章的方法重载对比,你想到了什么?