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

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

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

Полезные ссылки
Случайные записи
  • 19.04.2012">Марк Цукерберг договорился о покупке Instagram за $1 млрд вместо $2 млрд
  • 19.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.32
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.67
  • 17.11.2011">Обзор SandyBridge E
  • 27.06.2012">Пользователи Android получили доступ к облачному сервису OneCloud
  • 07.03.2011">Руководство по actionscript. часть 4, стр. 107
  • 21.03.2011">Руководство по actionscript. часть 2, стр. 046
  • 02.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.105
  • 27.02.2011">Руководство по actionscript. часть 6, стр. 046
  • 27.07.2011">Ремонт видеокарт поручайте профессионалам
  • 13.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.96
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 092
  • 17.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.12
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.93
  • 23.08.2011">Gigabyte Whale: супердешевый Android
Опрос

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

View Results

Loading ... Loading ...