我已经读过在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的良好实践,对吧?
对不起,如果这个问题太简单了。
当然,您可以在同一个包中拥有多个类
file mypackage / MyClass1.as:
package mypackage {
public class MyClass1{
}
}
file mypackage / MyClass2.as:
package mypackage {
public class MyClass2{
}
}
但是每个文件不能有多个公共类(应该与该类具有相同的名称)。
您可以在程序包块之外(在同一文件中)使用帮助程序类,只能由该文件中的其他类访问它们:
文件mypackage / MyClass3.as:
package mypackage {
public class MyClass3{
}
}
class HelperForClass3Only() {}
以下可能是http://www.adobe.com/devnet/actionscript/learning/as3-fundamentals/packages.html的一些有用信息:
大多数软件项目包含许多类。有时,项目包含数百个(如果不是数千个)类。将这些课程组织成相关小组是标准做法,也很有帮助。您可以使用包将类组织到相关组中。编译器还使用包来定义它们包含的类的全名,并添加一定级别的访问控制。