Руководство по actionscript. часть 1, стр. 086
Параметр… (rest) позволяет создавать очень гибкие функции, оперирующие произвольным количеством значений. Например, следующий код демонстрирует метод, который определяет среднее значение любых чисел, передаваемых в качестве аргументов:
public function getAverage (…numbers) { var total = 0;
for (var i = 0: i < numbers.length: i++) { total += numbers [i];
}
return total / numbers. length;
Обратите внимание, что представленный метод getAverage ( ) работает только с числовыми аргументами. Чтобы защитить этот метод от использования нечисловых аргументов, можно применить оператор is, рассматриваемый вподразд. «Восходящее и нисходящее приведения типов» разд. «Приведение типов» гл. 8.
Параметр. . . (rest) также может использоваться в сочетании с именованными параметрами. В этом случае он должен быть последним в списке параметров. Например, рассмотрим метод initializeUser( ), применяемый для инициализации пользователя в гипотетическом социальном сетевом приложении. В описании метода определяется один обязательный параметр name, за которым следует параметр. . . (rest) с именем hobbies:
public function initializeUser (name, …hobbies) { }
При вызове метода initializeUser ( ) мы обязаны указать аргумент для параметра name и при желании можем указать дополнительный список хобби, разделяя элементы списка запятыми. Внутри метода параметру name присваивается значение первого переданного аргумента, а параметру hobbies — массив всех оставшихся аргументов. Например, если вызвать данный метод следующим образом:
initializeUser(«Hoss». «video games», «snowboarding»);
то параметру name будет присвоено значение «Hoss «, а параметру hobbies — значение ["video games", "snowboarding"].
Далее: информация и поведение на уровне класса
Мы рассмотрели методы и переменные экземпляра. Как известно из гл. 1, они определяют поведение и характеристики объектов класса. Из следующей главы вы узнаете, как создавать поведение и управлять информацией, относящейся не к отдельным объектам, а ко всему классу.
ПИВА 4
Статические переменные
и методы
Из гл. 1 вы узнали, как определять характеристики и поведение объекта с помощью переменных и методов экземпляра. В этой главе вы познакомитесь с тем, как организовывать информацию и создавать функциональность, относящуюся к самому классу, а не к его экземплярам.
Статические переменные
При изучении материала предыдущих глав мы немного попрактиковались в использовании переменных экземпляра, которые представляют собой переменные, связанные с определенным экземпляром класса. В отличие от них, статические переменные связаны с самим классом, а не с его определенным экземпляром. Статические переменные применяются для хранения информации, относящейся логически ко всему классу, в отличие от информации, которая меняется от одного экземпляра к другому. Например, в классе, представляющем окно, статическая переменная может использоваться для указания размера по умолчанию для новых экземпляров этого окна, а в классе, представляющем автомобиль в гоночной игре, с помощью статической переменной можно задать максимальную скорость для всех экземпляров этого автомобиля.