ActionScript 3包结构和目录结构

时间:2011-01-23 19:24:15

标签: flash actionscript-3 flash-builder

当我在目录结构中以错误的级别导入第三方库时,我似乎遇到了Flash Builder中的编译问题。

例如,有时我会将一个级别的库深度导入到其目录树中,并且包浏览器最终会排除前缀根级别的包,通常是“com”。或“网”。即使源本身的内容没有改变,这也会导致编译错误。

因此:

  • 是一个1)约定或2)语言要求一个类的包结构(例如,“foo.bar.Class”)必须匹配其路径位置(例如,foo / bar / Class.as)?

  • 如果是语言要求,为什么是必需的?难道这不会超过包结构,因为它已经在源代码中指定并且非常乐意消耗每行的前三到八列吗?

  • 如果这不是语言要求,我的编译错误是Flash Builder执行约定的结果吗?

1 个答案:

答案 0 :(得分:1)

这是一种语言要求,它是ActionScript与Java共享的一种语言要求。 Wikipedia article on Java packages提供了合适的说明:

  

Java语言   规范建立包   命名约定以避免   两个已发布包的可能性   具有相同的名称。命名   约定描述了如何创建   独特的包名,使包   分布广泛的将有   唯一的命名空间。这允许   包装要分开,容易和   自动安装和   编目。

我想补充一点,通过将类文件保存在相应的文件夹结构中,可以通过导入现有的文件夹结构来组合完整或部分项目(例如框架和/或组件) - 而不存在命名冲突和/或覆盖现有文件。当您使用大型代码库时,它还有助于查找特定的类。

相关问题