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

Public class StringUtils { public function contains (string, character) { for (var i:int = 0; i <= string.length: i++) { if (string.charat(i) == character) { return true;

}

}

return false;

}

}

В следующем примере кода показано, как наше приложение могло бы использовать метод contains( ), чтобы проверить, содержит ли указанный адрес электронной почты символ @:

StringLIti 1 s. contains(«me@moock. org», «@»);

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

if (StringUtils. contains(userEmai1, «@»)) { // Этот код отправлял бы форму на сервер } else {

// Этот код отображал бы сообщение «Неправильные данные» для пользователя

}

Помимо статических методов, которые создаются вручную, среда выполнения Flash автоматически создает для каждого класса один статический метод, называемый инициализатором класса. Познакомимся с ним поближе.

Инициализатор класса. После определения класса на этапе выполнения программы среда Flash автоматически создает и исполняет метод, называемый инициализатором класса. В нем среда Flash размещает все инициализаторы статических

переменных данного класса и весь код уровня класса, не относящийся к описаниям переменных или методов.

Инициализатор класса предоставляет возможность выполнять однократные задачи настройки сразу после определения класса, вызывая методы или обращаясь к переменным, являющимся внешними по отношению к текущему классу. Предположим, что мы создаем приложение для чтения электронной почты и хотим, чтобы внешний вид этого приложения соответствовал графическому стилю операционной системы. Чтобы определить, какая графическая тема должна быть использована в почтовом клиенте, в инициализаторе основного класса приложения Mail Reader проверяется текущая операционная система и присваивается соответствующее значение статической переменной theme. Переменная theme хранит информацию о графической теме, используемой в данном приложении. В следующем коде продемонстрирован инициализатор для класса Mail Reader. Для проверки операционной системы в классе MailReader используется статическая переменная os, определенная всобственном классе flash, system. Capabilities.

package { import flash. system.*;

public class MailReader { static var theme; if (Capabilities. os == «MacOS») {

theme = «MAC»; } else if (Capabilities. os == «Linux») {

theme = «LINUX»; } else {

theme = «WINDOWS»;

}

}

}

Код, размещаемый в инициализаторе класса, выполняется в режиме интерпретации, и JIT-компилятор не компилирует его. Динамически откомпилированный код выполняется гораздо быстрее интерпретируемого кода, поэтому в тех случаях, когда на первом месте стоит вопрос производительности, код, интенсивно использующий ресурсы процессора, следует выносить за пределы инициализатора класса.

Объекты Class

Как мы уже знаем, обращение к каждому статическому методу и к каждой статической переменной осуществляется через класс, в котором они определены. Например, для обращения к статической переменной maxCalories, заданной в классе VirtualPet, мы применяем следующий код:

Virtual Pet. maxCalories

Использование имени класса VirtualPet в предыдущем коде является не просто особенностью синтаксиса; на самом деле имя класса VirtualPet ссылается

на объект, в котором определена переменная maxCalories. Объект, на который ссылается имя класса VirtualPet, является автоматически создаваемым экземпляром собственного класса Class.

Во время выполнения программы каждый класс в языке ActionScript представляется экземпляром класса Class. С точки зрения программиста, объекты Class используются в основном для доступа к статическим переменным и методам класса. Тем не менее, как и любые другие объекты, они являются значениями которые могут быть присвоены переменным, переданы или возвращены из методов и функций. Например, в следующей модифицированной версии нашегс класса VirtualPet переменной vp присваивается объект Class, представляющий класс VirtualPet, после чего эта переменная используется для создания объекта VirtualPet:

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

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

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

Полезные ссылки
Случайные записи
  • 27.02.2011">Руководство по actionscript. часть 6, стр. 038
  • 09.03.2011">Руководство по actionscript. часть 4, стр. 069
  • 09.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.134
  • 03.03.2011">Руководство по actionscript. часть 5, стр. 061
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.62
  • 08.03.2011">Руководство по actionscript. часть 4, стр. 077
  • 03.03.2011">Руководство по actionscript. часть 5, стр. 058
  • 05.08.2011">Вентиляция помещения необходима для здоровья и продуктивности работников
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.110
  • 16.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.32
  • 18.03.2011">Руководство по actionscript. часть 2, стр. 125
  • 22.01.2011">Руководство по actionscript. часть 1, стр. 140
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 068
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 089
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 060
Опрос

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

View Results

Loading ... Loading ...