5

我读过你只能在 ActionScript 中按包拥有一个类。如果您需要帮助类,您可以将这些类从包中编写出来。例子:

package {
  public class A {}
}


class B {}

但是,我在 adobe 网站中找到了以下示例(: http ://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7f9e.html ):

package flash.xml 
{ 
  class XMLDocument {} 
  class XMLNode {} 
  class XMLSocket {} 
}

在以下网页(http://www.adobe.com/devnet/actionscript/learning/as3-fundamentals/packages.html)中,他们说您只能通过文件编写一类包:

// SampleCode.as file 
package samples{ 
  public class SampleCode {} 
} 

// CodeFormatter.as file 
package samples { 
   class CodeFormatter {}
}

然后我的结论是:你不能按文件编写一个包的多个类,对吧?而这个限制只是为了推广 AS3 中的良好实践,对吧?

对不起,如果这个问题太简单了。

4

2 回答 2

10

当然你可以在同一个包中有多个类

文件 mypackage/MyClass1.as:

package mypackage {
    public class MyClass1{

    }
}

文件 mypackage/MyClass2.as:

package mypackage {
    public class MyClass2{

    }
}

但是每个文件不能有一个以上的公共类(应该与类同名)。

您可以在包块之外(在同一个文件中)拥有帮助程序类,它们只能由该文件中的其他类访问:

文件 mypackage/MyClass3.as:

package mypackage {
    public class MyClass3{

    }
}

class HelperForClass3Only() {}
于 2013-03-13T15:06:45.717 回答
0

以下可能是http://www.adobe.com/devnet/actionscript/learning/as3-fundamentals/packages.html上的一些有用信息:

大多数软件项目包含许多类。有时一个项目包含数百个(如果不是数千个)类。将这些课程组织成相关的组是标准做法并且很有帮助。您使用包将您的课程组织成相关的组。编译器还使用包来定义它们包含的类的全名并添加访问控制级别。

于 2013-04-02T13:55:47.990 回答