在类之外创建静态/类函数

时间:2009-02-12 13:23:46

标签: actionscript-3

如何用actionscript创建一个类函数,我需要有一些静态工具函数,可以很容易地从其他类中使用   test = tools.rtrim(xx);

e.g。这不编译:

package com.my.tools
{
static function rtrim(string:String):String {
            return string.replace(/\s+$/,"");

        }
}

2 个答案:

答案 0 :(得分:6)

需要附加到类类型而不是包

尝试

package com.my.tools
{
     public class Tools
     {
         public static function rtrim(string:String):String 
         {
                return string.replace(/\s+$/,"");
         }
     }
}

然后您可以通过Tools.rtrim(“yourString”);

使用它

答案 1 :(得分:6)

如果您的工具集合变大,那么使用顶级函数也可能很有用。 特别是如果你想在其他项目中重复使用一小部分“工具”,而不是通过编译未使用的文件来浪费文件大小(如果将它们全部包含在同一个类中,就会发生这种情况)。

为了做到这一点,在你的包文件夹中,你必须为每个函数创建一个文件。每个文件的命名方式应与其相关功能相同。 例如名为 rtrim.as 的每个文件的内容如下所示:

package com.my.tools {

    public function rtrim(str:String) : String {

        return string.replace(/\s+$/,"");   
    }
}

然后您只需要在需要的地方导入顶级功能:

package my {

    import com.my.tools.rtrim;  

    public class Test 
    {
        rtrim("bla bla");
    }
}
相关问题