我已经读过,在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中的良好做法,对吗?

抱歉,如果这个问题太简单了。

最佳答案

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

文件mypackage/MyClass1.as:

package mypackage {
    public class MyClass1{

    }
}

文件mypackage/MyClass2.as:
package mypackage {
    public class MyClass2{

    }
}

但是每个文件最多只能有一个公共(public)类(该类的名称应与该类相同)。

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

文件mypackage/MyClass3.as:
package mypackage {
    public class MyClass3{

    }
}

class HelperForClass3Only() {}

关于class - ActionScript包中有多个类?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15388880/

10-13 21:44