为了更好的组织类和避免类名称的冲突. 被许多语言应用的概念包被引入.ActionScript 2.0 引入包就是为了解决这个问题.
类名称的冲突是指什么呢? 我们假想有两个开发人员, 每个人都建立了一个代码库. 在库中都有一个名为 utility 的类. 如果这两个代码库合在一起使用, 这时就会造成 flash 的混乱, 不知使用哪一个库中的类.
这时类路径及来出来挽救, 通过将路径合并到类名称中. 就象是硬盘中的文件一样, 在不同的目录中可以有相同的文件存在. 要指明引用哪一个类. 要在导入过程中使用正确的类路径. 如:
import mx.events.Eventdesign;
一旦类被导入, 我们在引用类时就可能只接使用类名称而不需要使用类的路径了.
class MyBroadcaster {
public function MyBroadcaster() {
EventDesign.initialize(this);
}
}
当然, 你也可以不用导入的方式, 而是在每次使用时都指明类的正确路径. 可这样做会使人很烦的. 当多次使用时要不断的输入重复的东西.
class MyBroadcaster {
public function MyBroadcaster() {
mx.events.EventDesign.initialize(this);
}
}
当在创建自已的类时, 将你的类放在一个指定的项目目录中, 或是放在一个公共的类库中, 而不要将其放在
<Flash install folder>\<language>\First Run\Classes\) 或 <drive>:\Documents and Settings\<user>\Local Settings\Application Data\Macromedia\Flash MX 2004\<language>\Configuration\Classes\).
这样做可以使执行同步同时减少编译时错误的出现. 一种公用的方法是使用你的反面的域名作为类的路径如
import com.quantumwave.alliance.rebel.Commander;
如果要导入路径中的所有类. 使用通配符 *, 如下:
import com.quantumwave.*
这一步导入将导入 com.quantumwave 下的所有的类但在编译时只编译使用到的类, 所以你不必担心导入所有的类会增大你文件的大小.