Руководство по actionscript. часть 1, стр. 091

Public class AlarmClock { public static const MODEJISUAL = 1; public static const M0DE_AUDI0 = 2; public static const M0DE_B0TH = 3;

private var mode = AlarmClock. M0DE_AUDI0;

}

Когда наступает время подачи сигнала, объект AlarmClock выполняет соответствующее действие в зависимости от текущего режима. Следующий код демонстрирует один из способов того, как объект AlarmClock мог бы использовать константы режимов для выбора подходящего действия:

public class AlarmClock { public static const MODEJISUAL = 1; public static const M0DE_AUDI0 = 2; public static const M0DE_B0TH = 3;

private var mode = AlarmClock. MODE_AUDIO;

private function signalAlarm ( ) { if (mode — MODEJISUAL) {

// Отобразить значок } else if (mode — M0DE_AUDI0) {

// Воспроизвести звук } else if (mode — M0DEB0TH) {

// Отобразить значок и воспроизвести звук

>

}

}

Обратите внимание, что в предыдущем коде использование констант режимов с технической точки зрения не является обязательным. Собственно говоря, мы могли бы решить эту задачу с помощью константных числовых значений (магических значений). Тем не менее при использовании констант назначение числовых значений становится гораздо более понятным. Для сравнения, следующий код демонстрирует класс AlarmClock, реализованный без констант. Обратите внимание, что без комментариев в коде определить назначение каждого из трех значений режимов было бы достаточно сложно:

public class AlarmClock { private var mode = 2;

private function signalAlarm ( ) { if (mode == 1) {

// Отобразить значок } else if (mode == 2) {

// Воспроизвести звук } else if (mode == 3) {

// Отобразить значок и воспроизвести звук

}

}

}

Теперь познакомимся с партнерами статических переменных — статическими методами.

Статические методы

В предыдущем разделе мы узнали, что статические переменные используются для хранения информации, которая относится ко всему классу. Подобным образом статические методы описывают функциональность, относящуюся ко всему классу, а не к отдельному экземпляру этого класса. Например, в состав API среды выполнения Flash входит класс Point, представляющий точку с координатами по оси X и по оси Y в декартовой системе координат. В классе Point определен статический метод polar ( ), который позволяет получить объект Point по заданной точке в полярной системе координат (то есть по расстоянию и углу). Преобразование точки в полярной системе координат в точку в декартовой системе координат является общей операцией, относящейся к точкам в декартовом пространстве вообще, а не к отдельному объекту Point. Именно поэтому данный метод определен как статический.

Статические методы

121

Как и методы экземпляра, статические методы создаются описанием функций внутри описаний классов, однако описания статических методов должны также включать атрибут static, как показано в следующем обобщенном коде:

class НекийКласс { static function имяМетода (идентификатор! = значение!,

идентификатор2 = значение2,

идентификатора = значениеп) {

}

}

Как и в случае с методами экземпляра, управлять доступностью статических методов в программе можно с помощью модификаторов управления доступом. В описаниях статических методов применяются те же модификаторы управления доступом, что и в описаниях методов экземпляра: public, internal, protectednprivate. Если при описании метода не указан никакой модификатор доступа, то используется модификатор internal (доступ внутри пакета). При описании статического метода модификатор доступа обычно размещается перед атрибутом static, как показано в следующем обобщенном коде:

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Оставить комментарий

Вы должны авторизоваться для отправки комментария.

Полезные ссылки
Случайные записи
  • 22.01.2011">Руководство по actionscript. часть 1, стр. 099
  • 04.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.4
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.78
  • 16.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.24
  • 22.01.2011">Руководство по actionscript. часть 1, стр. 102
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.67
  • 07.09.2012">В Facebook запущена компания по переименованию города Хатчинсон в Смолвиль, родину Супермена
  • 02.03.2011">Руководство по actionscript. часть 5, стр. 082
  • 04.03.2011">Руководство по actionscript. часть 5, стр. 039
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.121
  • 12.03.2011">Руководство по actionscript. часть 3, стр. 127
  • 17.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.5
  • 13.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.84
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 008
  • 13.03.2011">Руководство по actionscript. часть 3, стр. 107
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...