导入类

若要在另一个脚本中引用类,必须在类名的前面加上该类的包路径。类的名称与其包路径的组合称作类的全限定类名。如果类位于顶级类路径目录中(而不是在该类路径目录的子目录中),则其全限定类名就是其类名。

若要指定包路径,请使用圆点分隔包目录名称。包路径采用分层结构,其中每个圆点代表一个嵌套的目录。例如,假设您创建了一个名为 Data 的类,它位于您的类路径下的 com/network/ 包中。若要创建该类的一个实例,您可以指定全限定类名,如下所示:

var dataInstance = new com.network.Data();

您也可以使用全限定类名来指定变量的数据类型:

var dataInstance:com.network.Data = new Data();

可以使用 import 语句将包导入到脚本中,这样就可以使用类的缩写名,而不必使用其全限定名。您还可以使用通配符 (*) 导入包中的所有类。

例如,假设您创建了一个名为 UserClass 的类,该类位于 macr/util/users 包目录路径下:

// 在 macr/util/users/UserClass.as 文件中
class macr.util.users.UserClass { ... }

假设在另一个脚本中,您使用 import 语句导入了该类,如下所示:

import macr.util.users.UserClass;

之后,您可以在同一脚本中使用该类的缩写名称引用该类:

var myUser:UserClass = new UserClass();

您可以使用通配符 (*) 导入某个给定包中的所有类。例如,假设您有一个名为 macr.util 的包,其中包含两个动作脚本类文件 foo.as 和 bar.as。在另一个脚本中,您可以使用通配符同时导入该包中的两个类,如下所示:

import macr.util.*;

然后,在同一脚本中您就可以直接引用 foo 和 bar 类了。

var myFoo:foo = new foo();
var myBar:bar = new bar();

import 语句仅应用于调用该语句的当前脚本(帧或对象)。如果脚本中未使用某个导入的类,则生成的 SWF 文件字节码中将不包含该类,并且该类对包含 import 语句的 FLA 文件可能调用的任何 SWF 文件都不可用。有关更多信息,请参见import