2009-02-12 4 views
1

Как создать функцию класса с помощью ActionScript, мне нужно иметь несколько статических функций инструмента, которые легко использовать из других классов, таких как test = tools.rtrim (xx);Создание статической/классной функции вне класса

например. это не компилируется:

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

     } 
} 

ответ

6

Он должен быть присоединен к типу класса а не пакет

Попробуйте

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

Вы можете использовать его через Tools.rtrim («yourString») ;

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"); 
    } 
} 
Смежные вопросы