ActionScript包中有多个类?

问题描述 投票:5回答:2

我已经读过在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的良好实践,对吧?

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

class actionscript packages
2个回答
10
投票

当然,您可以在同一个包中拥有多个类

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() {}

0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.