Константы ActionScript 

 

 

Константа — это переменная экземпляра, статическая или локальная переменная, 

значение которой после инициализации остается постоянным вплоть до  

завершения программы. Для создания константы применяется стандартный синтаксис 

описания переменной, однако вместо ключевого слова var используется ключевое 

слово const. По соглашению имена констант полностью состоят из прописных 

букв. Чтобы создать константную статическую переменную, прямо в теле класса 

можно использовать следующий обобщенный код: 

static const ИДЕНТИФИКАТОР = значение 

Для создания константной переменной экземпляра прямо в теле класса можно 

указать следующий обобщенный код: 

const ИДЕНТИФИКАТОР = значение 

Чтобы создать константную локальную переменную, в теле метода или функции 

можно использовать следующий обобщенный код: 

const ИДЕНТИФИКАТОР = значение 

В трех предыдущих примерах кода ИДЕНТИФИКАТОР обозначает имя константы, а зна - 

чение — начальное значение переменной. В случае с константными статическими 

и константными локальными переменными, после того как значение значение,  

указанное в инициализаторе переменной, будет присвоено переменной, изменить ее 

будет невозможно. 

При работе с константными переменными экземпляра, если программа  

откомпилирована в строгом режиме, после того как значение значение, указанное в  

инициализаторе переменной, будет присвоено переменной, изменить ее будет  

невозможно. Если программа откомпилирована в стандартном режиме, то после того, 

как значение значение, указанное в инициализаторе переменной, будет присвоено 
переменной, изменить ее можно будет внутри функции конструктора того класса, 
в котором она объявлена, — после этого изменить значение переменной будет  
невозможно (различия между строгим и стандартным режимами компиляции будут 
рассмотрены в гл. 7). 
Константы обычно используются для создания статических переменных, чьи  
фиксированные значения описывают варианты определенной настройки программы. 
Предположим, мы создаем программу будильника для ежедневной подачи сигнала. 
Подача сигнала может происходить в трех режимах: визуальном (моргающий  
значок), звуковом (зуммер) или визуальном и звуковом одновременно. Будильник  
представлен классом с именем AlarmClock. Для представления трех режимов подачи 
сигнала в классе Al armCl ос к определены три константные статические переменные: 
MODE_VISUAL, MODE_AUDIO и MODE_BOTH. Каждой константе присвоено числовое 
значение, определяющее соответствующий режим. Режим 1 считается визуальным, 
режим 2 — звуковым, а режим 3 — визуальным и звуковым одновременно. В  
следующем примере кода продемонстрированы описания констант режимов: 
public class AlarmClock { 
public static const MODEJISUAL = 1; 
public static const M0DE_AUDI0 = 2; 
public static const M0DE_B0TH = 3; 
В классе AlarmClock определена переменная экземпляра mode, которая  
позволяет хранить информацию о выбранном режиме для каждого экземпляра этого 
класса. Чтобы задать режим для объекта AlarmClock, необходимо присвоить 
одно из константных значений режимов A,2 или 3) переменной экземпляра mode. 
Следующий код устанавливает звуковой режим (режим 2) в качестве режима по 
умолчанию для новых объектов 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.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 — M0DE_B0TH) { 
// Отобразить значок и воспроизвести звук 
Обратите внимание, что в предыдущем коде использование констант режимов 
с технической точки зрения не является обязательным. Собственно говоря, мы 
могли бы решить эту задачу с помощью константных числовых значений  
(магических значений). Тем не менее при использовании констант назначение числовых 
значений становится гораздо более понятным. Для сравнения, следующий код 
демонстрирует класс AlarmClock, реализованный без констант. Обратите  
внимание, что без комментариев в коде определить назначение каждого из трех значений 
режимов было бы достаточно сложно: 
public class AlarmClock { 
private var mode = 2; 
private function signalAlarm ( ) { 
if (mode == 1) { 
// Отобразить значок 
} else if (mode == 2) { 
// Воспроизвести звук 
} else if (mode == 3) { 
// Отобразить значок и воспроизвести звук 
Теперь познакомимся с партнерами статических переменных — статическими  
методами. 




BACK NEXT

Сайт является частным собранием материалов и представляет собой любительский информационно-образовательный ресурс. Вся информация получена из открытых источников. Администрация не претендует на авторство использованных материалов. Все права принадлежат их правообладателям