那么,我们如何在动作脚本3中为几个文件编写一个类?
在C#中有“部分”关键字。
在C ++中它很自然(你只是“#include ......”所有文件)。
在Flex 3中,在组件中添加以下标记:<mx:Script source="myfile.as"/>
。
如何将以下类拆分为多个文件;
package package_path
{
public class cSplitMeClass
{
public function cSplitMeClass()
{
}
public function doX():void
{
// ....
}
public function doY():void
{
// ....
}
}
}
例如,我希望在另一个“.as”文件中实现doX()和doY()函数。
我可以这样做吗?
请不要告诉我“好的做法是将它们放在一个文件中”:)
答案 0 :(得分:6)
根据您的要求,我将为您提供“最佳实践讲座”。所以,我只想说AS 3.0中有一个include directive,它可以帮到你。
基本上,你可以这样做:
package package_path
{
public class cSplitMeClass
{
public function cSplitMeClass()
{
}
include "the_file_where_doX_and_doY_live.as"
}
}
然后在“the_file_where_doX_and_doY_live.as”
public function doX():void
{
// ....
}
public function doY():void
{
// ....
}
答案 1 :(得分:0)
你可以继承:
// file: cSplitMe1.as
class cSplitMe1 {
function doX() {
// ...
}
// file: cSplitMe2.as
class cSplitMe2 extends cSplitMe1 {
function doY() {
// ...
}
// file: cSplitMe.as
class cSplitMe extends cSplitMe2 {
function cSplitMe() {
doX();
doY();
}
}
答案 2 :(得分:-1)
这是好习惯,没错。
有import
个关键字。例如:
import Class_A.as;
import Class_B.as;
当然,为了使用它们,您需要声明它们,最好是在构造函数中。
public function Class_C()
{
//Create a new instance of Class_A
var objA:Object = new Class_A("parameter one", "parameter two");
//Create a new instance of Class_B
var objA:Object = new Class_B("parameter one", "parameter two");
}
当然,这一切都取决于你将如何开展这项工作。我还建议您使用Main类来运行代码。我想你已经知道了。
祝你好运。