包块
AS3中的包定义方式和AS2中有所不同。在AS3中,包路径不再是类定义的一部分,而是使用一个包块来包含类。定义包块使用的是package标签,如下:
package my.package.path {
class MyClass {
}
}
而在AS2中,应该是下面的样式:
// ActionScript 2:
class my.package.path.MyClass {
}
实际上,在AS3中,所有的类都必须定义在包里面,如果一个类不属于任何一个包,也需要使用空的包路径来定义:
package {
class NotInAPackageClass {
}
}
每一个包块可以将一些有关联的类或者方法包含在一个文件里面。文件中包块里的类或方法必须使用和文件名相同的名称:
package com.kirupa.utils {
function StripString(str:String):void {
// ...
}
}
上面的代码应该保存在一个名称为StripString.as的文件中,并放在路径为com/kirupa/utils的文件夹里。
17,一个文件中的多个类一般来说,一个.as文件中就一个类,但是在AS3中,现在允许在一个文件中定义多个类用来辅助主类。
在.as文件中的辅助类,必须定义在类包以外,并且只针对此文件中的主类和
其他辅助类可见。
例如:
package {
class MyClass {
function MyClass() {
var helper:MyHelper = new MyHelper();
}
}
}
class MyHelper {
function MyHelper() {
var helper:HelpersHelper = new HelpersHelper();
}
}
class HelpersHelper {
function HelpersHelper () {
}
}
注意,在包块中最多只能定义一个类。在同一个文件中的辅助类不是包块的一部分,并且只能在此文件中可见和被使用。