Руководство по 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

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

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

Полезные ссылки
Случайные записи
  • 15.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.42
  • 17.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.130
  • 03.04.2010">Туториалы по Illustrator
  • 22.03.2011">Руководство по actionscript. часть 2, стр. 016
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 068
  • 16.03.2011">Руководство по actionscript. часть 3, стр. 011
  • 02.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.116
  • 10.03.2011">Руководство по actionscript. часть 4, стр. 042
  • 18.03.2011">Руководство по actionscript. часть 2, стр. 128
  • 02.03.2011">Руководство по actionscript. часть 5, стр. 087
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.48
  • 13.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.95
  • 08.03.2011">Руководство по actionscript. часть 4, стр. 098
  • 15.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.40
  • 01.01.2010">14 бесплатных шрифтов в стиле Web 2.0
Опрос

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

View Results

Loading ... Loading ...