ActionScript

Характеристика и ключевые черты объектно-ориентированного программирования, его история и сущность инкапсуляции, наследования и полиморфизма. Процесс создания приложений с помощью языка ActionScript, особенности применения новой версии ActionScript 3.0.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 08.07.2011
Размер файла 62,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Оглавление

  • Введение 2
  • Объектно-ориентированное программирование 3
  • История объектно-ориентированного программирования на языке ActionScript 6
    • ActionScript 1.0 7
    • ActionScript 2.0 11
    • ActionScript 3.0 12
  • Список литературы 25

Введение

Что такое ActionScript?

ActionScript - это объектно-ориентированный язык программирования flash. В его основе лежит модель языков сценариев Европейской Ассоциации Производителей Компьютеров (EMCA - European Computer Manufacturers Association). ActionScript добавляет интерактивность, обработку данных и многое другое в содержимое Flash-приложений. Он исполняется виртуальной машиной (ActionScript Virtual Machine), которая является составной частью Flash Player. ActionScript компилируется в байткод, который включается в SWF-файл.

SWF-файлы исполняются Flash Player-ом. Flash Player существует в виде плагина к веб-браузеру, а также как самостоятельное исполняемое приложение (standalone). Во втором случае возможно создание исполняемых exe-файлов (projector), когда swf-файл включается во Flash Player.

С помощью ActionScript можно создавать интерактивные мультимедиа-приложения, игры, веб-сайты и многое другое.

Итак, сейчас мы рассмотрим следующие вопросы:

ь Что такое объектно-ориентированное программирование

ь Историю объектно-ориентированного программирования на языке ActionScript

ь Последнюю версию языка ActionScript - ActionScript 3.0 и его основные понятия

Объектно-ориентированное программирование

Объектно-ориентированное программирование - это подход к разработке программного обеспечения, основанный на объектах, а не на процедурах. Этот подход позволяет максимизировать принципы модульности и "сокрытия информации". Объектно-ориентированное программирование базируется на связывании или инкапсуляции структур данных и процедуры, которая работает с данными в структуре, с модулем.

Объектно-ориентированный принцип разработки дает много преимуществ. Например, каждый объект инкапсулирует его структуру данных с процедурой, используемой для работы с экземплярами структуры данных. Это позволяет устранить в коде программы внутренние зависимости, которые могут быстро привести к тому, что этот код будет трудно обслуживать. Объекты могут также наследовать из порождающего объекта структуры данных и другие характеристики, что позволяет сэкономить усилия и обеспечить прозрачное использование для многих целей больших фрагментов кода.

Ключевые черты объектно-ориентированного программирования хорошо известны:

1) Инкапсуляция -- это определение классов -- пользовательских типов данных, объединяющих своё содержимое в единый тип и реализующих некоторые операции или методы над ним. Классы обычно являются основой модульности, инкапсуляции и абстракции данных в языках ООП.

2) Наследование -- есть способ определения нового типа, наследуя элементы (свойства и методы) существующего и модифицируя или расширяя их. Это способствует выражению специализации и генерализации.

3) Полиморфизм, позволяет единообразно ссылаться на объекты различных классов (обычно внутри некоторой иерархии). Это делает классы ещё более удобными и делает программы, основанные на них, легче для расширения и поддержки.

Инкапсуляция, наследование и полиморфизм -- фундаментальные свойства, требуемые от языка, претендующего называться объектно-ориентированным (языки, не имеющие наследования и полиморфизма, но имеющие только классы, обычно называются основанными на классах). Различные объектно-ориентированные языки используют совершенно разные подходы. Мы можем различать объектно-ориентированны языки, сравнивая механизм контроля типов, способность поддерживать различные программные модели и то, какие объектные модели они поддерживают.

Алан Кей в свое время вывел пять основных черт языка Smalltalk -- первого удачного объектно-ориентированного языка:

1) Все является объектом. Объект как хранит информацию, так и способен ее преобразовывать. В принципе любой элемент решаемой задачи (дом, собака, услуга, химическая реакция, город, космический корабль и т. д.) может представлять собой объект. Объект можно представить себе как швейцарский нож: он является набором различных ножей и «открывашек» (хранение), но в то же самое время им мы можем резать или открывать что-либо (преобразование).

2) Программа -- совокупность объектов, указывающих друг другу что делать. Для обращения к одному объекту другой объект «посылает ему сообщение». Как вариант возможно и «ответное сообщение». Программу можно представить себе как совокупность, к примеру, 3 объектов: писателя, ручки и листа бумаги. Писатель «посылает сообщение» ручке, которая в свою очередь «посылает сообщение» листу бумаги -- в результате мы видим текст (посыл сообщения от листа к писателю).

3) Каждый объект имеет свою собственную «память» состоящую из других объектов. Таким образом, программист может скрыть сложность программы за довольно простыми объектами. К примеру, дом (достаточно сложный объект) состоит из дверей, комнат, окон, проводки и отопления. Дверь в свою очередь может состоять из собственно двери, ручки, замка и петель. Проводка так-же состоит из проводов, розеток и к примеру щитка.

4) У каждого объекта есть тип. Иногда тип называют еще и классом. Класс (тип) определяет какие сообщения объекты могут посылать друг другу. Например, аккумуляторная батарея может передавать электролампе ток, а вот момент или физическое усилие - нет.

5) Все объекты одного типа могут получать одинаковые сообщения. К примеру, у нас есть 2 объекта: синяя и красная кружки. Обе разные по форме и материалу. Но из обеих мы можем пить (или не пить, если они пустые). В данном случае кружка -- это тип объекта.

Самое лаконичное описание объекта предложил Буч: «Объект обладает состоянием, поведением и индивидуальностью».

В основу языка ActionScript 3.0 положены объекты, они являются его главным конструктивным материалом. Каждая объявленная переменная, каждая написанная функция, каждый созданный экземпляр класса являются объектами. Программу на ActionScript 3.0 можно рассматривать как группу объектов, выполняющих задачи, реагирующих на события и взаимодействующих друг с другом.

Программисты, знакомые с объектно-ориентированным программированием в Java или C++, могут воспринимать объекты как модули, включающие два типа: данных, хранимые в соответствующих переменных или свойствах, а также поведение, реализуемое с помощью методов. ActionScript 3.0 определяет объекты подобным образом, но немного по-другому. В ActionScript 3.0 объекты представляют собой просто наборы свойств. Эти свойства выступают в качестве контейнеров, которые могут содержать не только данные, но также функции или другие объекты. Если функция связана с объектом, таким образом, она называется методом.

Хотя определение ActionScript 3.0 и может показаться немного странным для имеющего опыт программирования на Java или C++, на практике определение типов объектов с помощью классов ActionScript 3.0 сходно со способом, которым классы определяются в Java или C++. Различие между двумя определениями объектов важно, когда обсуждается объектная модель ActionScript и другие расширенные возможности, но в большинстве других ситуаций термин свойства означает переменные, являющиеся членами класса, как альтернативу методам. В справочнике по языку ActionScript 3.0 и компонентам, например, термин свойства используется для обозначения переменных или свойств getter-setter. Термин методы здесь используется для обозначения функций, являющихся частью класса.

Единственным небольшим различием между классами в ActionScript и классами в Java или С++ является то, что в ActionScript-классы это не просто абстрактные сущности. В ActionScript классы представляются объектами классов, хранящими свойства и методы этого класса. Это позволяет реализовывать методики, которые могут показаться незнакомыми программистам на Java и C++, например, включение инструкций или исполняемого программного кода в верхний уровень класса или пакета.

Другим различием между классами ActionScript и классами в Java или C++ является то, что каждый класс ActionScript обладает так называемым объектом прототипа. В предыдущих версиях ActionScript объекты прототипов, связанные вместе в цепочки прототипов, совместно служили в качестве основания всей иерархии наследования класса. Однако в ActionScript 3.0 объекты прототипов играют лишь малую роль в системе наследования. Объект прототипа также может быть полезен, но как альтернатива статическим свойствам и методам, если требуется обеспечить совместное использование свойства и его значений всеми экземплярами класса.

История объектно-ориентированного программирования на языке ActionScript

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

ActionScript как язык появился с выходом 5 версии Macromedia Flash, которая стала первой программируемой на ActionScript средой. Первую версию языка разработал Гари Гроссман. Первый релиз языка назывался ActionScript 1.0. Flash 6 (MX). В 2004 году Macromedia представила новую версию ActionScript 2.0 вместе с выходом Flash 7 (MX 2004), в которой было введено строгое определение типов, основанное на классах программирование. То есть появились новые ключевые слова:

class (класс),

interface (интерфейс),

extends (установка наследования)

модификаторы доступа: private, public;

и прочие.

Также Macromedia была выпущена модификация языка Flash Lite для программирования под мобильные телефоны.

В 2006 году вышел ActionScript 3.0 в среде программирования Adobe Flex, а позже в Adobe Flash 9.

ActionScript 1.0

ActionScript 1.0 -- это версия языка, используемого в Flash Player 6 и более ранних версиях. С самого начала объектная модель языка ActionScript строилась на базе концепции, согласно которой объект является основополагающим типом данных. Объект ActionScript представляет собой составной тип данных с группой свойств. Применительно к объектной модели термин свойства включает все, что присоединяется к объекту, то есть переменные, функции или методы.

Хотя первое поколение языка ActionScript не поддерживает определение классов с помощью ключевого слова class, класс можно определить с помощью объекта особого типа, так называемого прототипа. Вместо того чтобы определять с помощью ключевого слова class абстрактного класса, из которого затем можно создать конкретные экземпляры, как в языках на базе классов, таких как Java и C++, языки на базе прототипов, такие как ActionScript 1.0, используют в качестве модели (или прототипа) для новых объектов существующий объект. В языках на базе классов объект может указывать на класс, используемый в качестве его шаблона, а в языках на базе прототипа объект указывает на другой объект, свой прототип, который является его шаблоном.

Чтобы создать класс в ActionScript 1.0, необходимо определить функцию-конструктор для этого класса. В ActionScript функции -- это не абстрактные определения, а конкретные объекты. Созданная функция-конструктор служит в качестве прототипичного объекта для экземпляров этого класса. Следующий код создает класс Shape и определяет одно свойство visible, которому задается значение по умолчанию true.

// base class

function Shape() {}

// Create a property named visible.

Shape.prototype.visible = true;

Эта функция-конструктор определяет класс Shape и создает его экземпляр с помощью оператора new, как показано ниже.

myShape = new Shape();

Объект функции-конструктора Shape() может служить прототипом для экземпляров не только класса Shape, но и его подклассов, то есть классов, расширяющих класс Shape.

Создание подкласса для класса Shape происходит в два этапа. На первом этапе создается класс посредством определения его функции-конструктора, как показано ниже.

// child class

function Circle(id, radius)

{

this.id = id;

this.radius = radius;

}

На втором этапе с помощью оператора new класс Shape объявляется в качестве прототипа класса Circle. По умолчанию любой создаваемый класс использует в качестве прототипа класс Object, то есть Circle.prototype пока содержит родовой объект (экземпляр класса Object). Чтобы указать, что прототипом класса Circle является класс Shape, а не Object, используйте следующий код, который изменяет значение Circle.prototype так, что оно вместо родового объекта будет содержать объект Shape.

// Make Circle a subclass of Shape.

Circle.prototype = new Shape();

Теперь классы Shape и Circle связаны друг с другом отношением наследования, часто называемым цепочкой прототипов. На следующей схеме представлены отношения в цепочке прототипов.

Базовым классом, который находится в конце любой цепочки прототипов, является класс Object. Класс Object содержит статическое свойство Object.prototype, которое указывает на базовый прототипичный объект для всех объектов, созданных в ActionScript 1.0. Следующим объектом в нашем примере цепочки прототипов является объект Shape. Свойство Shape.prototype не задавалось явно, поэтому оно по-прежнему содержит родовой объект (экземпляр класса Object). Последняя ссылка в этой цепочке -- класс Circle, связанный со своим прототипом, классом Shape (свойство Circle.prototype содержит объект Shape).

Если создать экземпляр класса Circle class, как в следующем примере, он унаследует цепочку прототипов класса Circle.

// Create an instance of the Circle class.

myCircle = new Circle();

Мы создали свойство visible, которое является членом класса Shape. В нашем примере свойство visible не существует в объекте myCircle, являясь членом только для объекта Shape. Несмотря на это следующая строка кода возвращает значение true.

trace(myCircle.visible); // output: true

Flash Player может установить, что объект myCircle наследует свойство visible, поднявшись по цепочке прототипов. Выполняя код, проигрыватель Flash Player сначала выполняет поиск свойства visible среди свойств объекта myCircle, но не находит его. После этого Flash Player выполняет поиск в объекте Circle.prototype, но в нем также не оказывается свойства visible. Поднимаясь выше по цепочке прототипов, проигрыватель, наконец, находит свойство visible, определенное в объекте Shape.prototype, и выводит его значение.

ActionScript 2.0

В язык ActionScript 2.0 были введены новые ключевые слова, такие как class, extends, public и private, которые позволяют определять классы так, как это привыкли делать все, кто работает с языками Java и C++. Важно понимать, что в основе языков ActionScript 1.0 и ActionScript 2.0 лежит один и тот же механизм наследования. В версии ActionScript 2.0 просто добавлены новые элементы синтаксиса для определения классов. Цепочка прототипов работает одинаково в обеих версиях языка.

Новый синтаксис, введенный в ActionScript 2.0, позволяет определять классы более простым для многих программистов способом, как показано ниже.

// base class

class Shape

{

var visible:Boolean = true;

}

Обратите внимание, что в языке ActionScript 2.0 были введены аннотации типов для использования при проверке типов во время компиляции. Это позволяет объявить, что свойство visible в предыдущем примере должно содержать только логическое значение. Новое ключевое слово extends также упрощает процесс создания подклассов. В следующем примере, двухэтапный процесс в ActionScript 1.0 выполняется одним действие с помощью ключевого слова extends.

// child class

class Circle extends Shape

{

var id:Number;

var radius:Number;

function Circle(id, radius)

{

this.id = id;

this.radius = radius;

}

}

Теперь конструктор объявляется в составе определения класса, и свойства класса id и radius также должны быть явно объявлены.

В языке ActionScript 2.0 также добавлена поддержка для определения интерфейсов, позволяющая еще больше усовершенствовать объектно-ориентированные программы с помощью формально определенных протоколов для взаимодействия объектов.

ActionScript 3.0

ActionScript 3.0 представляет, по сравнению с ActionScript 2.0 качественное изменение, он использует новую виртуальную машину AVM 2.0 и даёт взамен прежнего формального синтаксиса классов настоящее классовое (class-based) объектно-ориентированное программирование. ActionScript 3.0 обеспечивает возрастание производительности, по сравнению с ActionScript 1.0/2.0, до 700 раз (это лишь обработка инструкций, не затрагивая графику). Он позволяет работать с бинарными данными, с BitMap (что обеспечивает значительный прирост производительности: до 10000 раз). Увеличение производительности основано на динамической трансляции кода (JIT). Объём кода, как правило, увеличивается в несколько раз (по сравнению с AS1). Подробнее язык ActionScript 3.0 мы рассмотрим в следующей главе.

ActionScript 3.0: основные понятия

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

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

В ActionScript 3.0 переменная фактически состоит из трех различных частей:

§ имени переменной

§ типа данных, которые могут быть сохранены в переменной

§ фактического значения, сохраненного в памяти компьютера

Для создания переменной (value1) в ActionScript используется инструкция var:

var value1:Number;

В этом случае компьютеру дается команда создать переменную value1, которая содержит только числовые данные. Можно также сохранить значение прямо в переменной:

var value2:Number = 17;

Постоянная очень похожа на переменную в том смысле, что она является именем, представляющим значение с определенным типом данных в памяти компьютера. Разница состоит в том, что для постоянной значение присваивается только один раз во время выполнения приложения ActionScript. Если постоянной присвоено значение, оно больше не изменяется в приложении. Синтаксис задания постоянной аналогичен тому, который используется для переменной, за исключением использования ключевого слова const вместо ключевого слова var.

const SALES_TAX_RATE:Number = 0.07;

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

В ActionScript существует множество типов данных, которые можно использовать при создании переменных. Некоторые из них считаются простыми или фундаментальными типами данных:

§ Строки: текстовые значения, такие как имя или текст главы книги

§ Числовые: ActionScript 3.0 включает три специфических типа числовых данных: 1) number: любые целые или дробные числовые значения, 2) int: целые числа без дробей, 3) uint: беззнаковые (не отрицательные) целые числа

§ Логические: значения типа «истинно -- ложно», такие как состояния выключателя или равенство или неравенство двух значений

Простые типы данных представляют единичные порции информации: например, одно число или единичный текст. Тем не менее, большую часть типов данных в ActionScript следует рассматривать как комплексные, поскольку они представляют сгруппированные наборы значений. Например, переменная с типом данных Date (Дата) представляет единичное значение -- момент времени. Тем не менее, значение даты фактически включает в себя несколько значений: день, месяц, год, час, минуты, секунды и т. д., все из которых являются отдельными числами. Таким образом, если дата рассматривается как единичное значение (и используется как единичное значение при создании переменной Date), то компьютер при внутренней обработке принимает ее за группу отдельных значений, которые, взятые вместе, определяют единичную дату.

Большинство встроенных типов данных, так же как и большинство типов данных, задаваемых программистами, являются комплексными. Некоторые из комплексных типов данных:

§ MovieClip: символ фрагмента ролика

§ TextField: динамическое или вводимое текстовое поле

§ SimpleButton: символ кнопки

§ Date: информация о единичном моменте времени (дата и время)

Двумя широко распространенными синонимами для обозначения типа данных являются класс и объект. Класс -- это просто определение типа данных. Он подобен шаблону для всех объектов с данным типом данных. Класс показывает, что все переменные экземпляра типа данных имеют определенные характеристики, например: A, B и C. Объект, с другой стороны, является фактическим экземпляром класса; переменная, тип данных которой, допустим, MovieClip, может быть описана как объект MovieClip.

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

§ Свойства

Свойство представляет собой одну из порций данных, упакованную в объект. Если объектом является музыкальная композиция, ее свойствами могут быть: artist (имя исполнителя) и title (название). Класс MovieClip имеет такие свойства, как: rotation (поворот), x, width (ширина) и alpha(прозрачность). Работать со свойствами можно так же, как и с отдельными переменными. Фактически свойства можно рассматривать как «дочерние» переменные, содержащиеся в объекте.

§ Методы

Метод -- это действие, которое может быть выполнено объектом. Например, если имеется символ фрагмента ролика в Flash с различными ключевыми кадрами и анимацией на временной шкале, тогда возможно воспроизвести или остановить этот фрагмент ролика, а также дать команду воспроизводящей головке перейти на заданный кадр.

§ События

В сущности, события -- это все то, что происходит, о чем ActionScript «знает» и на что может ответить. Многие события связаны с действиями пользователя, такими как нажатие экранной кнопки или клавиши клавиатуры. Однако есть и другие типы событий. Например, если ActionScript используется для загрузки внешнего изображения, существует событие, которое позволит пользователю узнать о завершении загрузки. В общих словах, при выполнении программы ActionScript проигрыватель Adobe Flash Player и среда Adobe AIR ожидают, когда произойдет определенное событие, и когда это событие происходит, они запускают соответствующий код ActionScript, который специально для этого подготовил программист.

Все вместе эти элементы используются для управления порциями данных, которые задействованы в программе, и для решения, какие действия должны быть выполнены и в каком порядке.

Само собой разумеется, что перед использованием объекта в ActionScript необходимо, чтобы этот объект существовал. Одним из этапов создания объекта является задание переменной, однако эта операция создает только свободную ячейку в памяти компьютера. Необходимо задать фактическое значение переменной (то есть создать объект и сохранить его в переменной), перед тем как использовать ее или управлять ею. Процесс создания объекта называется приписыванием значения объекту, другими словами, это -- создание экземпляра определенного класса.

Существует несколько способов создания экземпляров объекта исключительно с помощью ActionScript. Во-первых, с помощью различных типов данных ActionScript можно создавать экземпляры, используя литеральное выражение, -- значение, записываемое непосредственно в код ActionScript.

Чтобы создать экземпляр объекта с другим типом данных, используется оператор new с именем класса. Создание объекта с помощью оператора new часто называется «вызовом конструктора класса». Конструктор -- это специальный метод, который является частью процесса создания экземпляра класса. Когда экземпляр создается этим способом, после имени класса ставятся скобки, в которых иногда задаются значения параметра, -- эти две операции делаются всегда при вызове метода.

Даже для тех типов данных, которые позволяют создавать экземпляры с помощью литерального выражения, все равно можно создавать экземпляр объекта, используя оператор new.

Кроме задания переменных, создания экземпляров объектов и управления объектами с помощью их свойств и методов, существуют и другие функциональные блоки, необходимые для создания программы ActionScript.

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

§ Оператор сложения (+) складывает два значения, результатом чего является одно число:

var sum:Number = 23 + 32;

§ Оператор умножения (*) перемножает два значения, результатом чего также является одно число:

var energy:Number = mass * speedOfLight * speedOfLight;

§ Оператор равенства (==) сравнивает два значения и выдает результат в форме единичного (логического) значения истинно/ложно:

§ if (dayOfWeek == "Wednesday")

§ {

§ takeOutTrash();

}

Как здесь показано, оператор равенства и другие операторы сравнения наиболее часто используются с инструкцией if, чтобы определить, должны выполняться определенные указания или нет.

Комментарии

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

§ Однострочный комментарий: вставляется в любое место строки и отмечается двумя косыми чертам. Все, что находится за косыми чертами (//) до конца строки, игнорируется компьютером.

§ Многострочные комментарии: состоят из начального маркера /*, содержания комментария и конечного маркера */. Все, что находится между начальным и конечным маркерами, игнорируется компьютером, независимо от того, сколько строк занимает комментарий.

Другим распространенным использованием комментариев является временное выключение одной или нескольких строк кода. Это необходимо, например, для проверки другого способа выполнить те же действия или для выяснения причины сбоев определенной части кода ActionScript.

Довольно часто при отладке программы требуется повторить отдельные действия, выполнить только выбранные действия и не выполнять другие, переключиться на альтернативные действия в зависимости от определенных условий и т. п. Управление исполнением программы предназначено для контроля выполняемых действий. В ActionScript предусмотрено несколько элементов управления исполнением программы.

§ Функции: своего рода комбинации быстрого вызова, позволяющие группировать серии действий под одним именем, используются для выполнения вычислений. Функции наиболее важны для обработки событий, однако они используются и как общий инструмент для группирования серий инструкций.

§ Циклы: циклические структуры, позволяющие задать набор инструкций, которые компьютер будет выполнять установленное число раз или до изменения некоторых условий. Часто циклы используются для управления несколькими связанными элементами. При этом используется переменная, значение которой изменяется каждый раз, когда компьютер выполнит один цикл.

§ Условные инструкции: обеспечивают способ задавать инструкции, выполняемые только при определенных условиях, или задавать альтернативные наборы инструкций для различных условий. Наиболее распространенной условной инструкцией является инструкция if. Инструкция if проверяет значение или выражение в скобках. Если это значение истинно -- true, тогда строка кода в фигурных скобках выполнятся, в противном случае строка игнорируется. Инструкция else, связанная с инструкцией if, позволяет задать альтернативные инструкции, которые выполняются, если условия не будут соответствовать требованию true.

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

Язык ActionScript 3.0 чувствителен к регистру. Идентификаторы, различающиеся только значением регистра, считаются разными идентификаторами.

Оператор точка (.) обеспечивает способ доступа к свойствам и методам объекта. Используя синтаксис с точкой, можно обращаться к свойствам или методам класса по имени экземпляра, указывая за оператором точка имя требуемого свойства или метода. Например, рассмотрим следующее определение класса.

class DotExample

{

public var prop1:String;

public function method1():void {}

}

Используя синтаксис с точкой, можно обратиться к свойству prop1 и методу method1(), применяя имя экземпляра, созданного в следующем программном коде.

var myDotEx:DotExample = new DotExample();

myDotEx.prop1 = "hello";

myDotEx.method1();

Оператор точка используется для обращения ко вложенным пакетам. Например, класс EventDispatcher находится в пакете с именем events, который вложен в пакет с именем flash. Можно обратиться к пакету events, используя следующее выражение.

flash.events

Синтаксис с косой чертой не поддерживается в ActionScript 3.0. Синтаксис с косой чертой использовался в предыдущих версиях ActionScript для указания пути к фрагменту ролика или переменной.

Литерал -- это значение, которое появляется непосредственно в программном коде. Следующие примеры все являются литералами.

17

"hello"

-3

9.4

null

Литералы также могут группироваться, образуя составные литералы. Литералы массивов обрамляются квадратными скобками ([]) и используют запятые для разделения элементов массива.

Литералы также можно использовать для инициализации родового объекта. Родовой объект -- это экземпляр класса Object. Литералы объекта заключаются в фигурные скобки ({}) и используют запятую для разделения свойств объекта. Каждое свойство объявляется с помощью символа двоеточия (:), который отделяет имя свойства от его значения.

Можно использовать символ точки с запятой (;) для завершения инструкции. В качестве альтернативы, если пропустить символ точки с запятой, компилятор предположит, что каждая строчка программного кода отображает отдельную инструкцию. Использование точки с запятой для завершения инструкции позволяет поместить в одну строку больше одной инструкции, но при этом программный код становится менее удобочитаем.

В ActionScript 3.0 можно использовать скобки (()) тремя способами. Во-первых, можно использовать скобки для изменения порядка операций в выражении. Операции, которые группируются в скобках, всегда выполняются первыми. Во-вторых, можно использовать скобки с оператором запятая (,) для вычисления ряда выражений и возврата результата окончательного выражения. В-третьих, можно использовать скобки для передачи одного или нескольких параметров функциям или методам.

Зарезервированные слова -- это слова, которые нельзя использовать в качестве идентификаторов в программном коде, потому что эти слова зарезервированы для применения в ActionScript. Зарезервированные слова включают лексические ключевые слова, которые удаляются компилятором из пространства имен программы. Компилятор будет сообщать об ошибке, если какое-либо лексическое ключевое слово будет использоваться в качестве идентификатора. Список лексических ключевых слов ActionScript 3.0.

as

Break

case

catch

class

Const

continue

default

delete

Do

else

extends

false

Finally

for

function

if

implements

import

in

instanceof

interface

internal

is

native

New

null

package

private

protected

public

return

super

Switch

this

throw

to

True

try

typeof

use

Var

void

while

with

Существует небольшое подмножество ключевых слов, называемых синтаксическими ключевыми словами, которые могут использоваться как идентификаторы, но при этом имеют специальное значение в определенных контекстах. Список синтаксических ключевых слов ActionScript 3.0.

each

get

set

namespace

include

dynamic

final

native

override

static

Также существует несколько идентификаторов, которые иногда упоминаются как зарезервированные для будущего использования слова. Эти идентификаторы не зарезервированы в ActionScript 3.0, хотя некоторые из них могут расцениваться как ключевые слова программным обеспечением для работы с ActionScript 3.0. Многие из этих идентификаторов можно использовать в программном коде, но не рекомендуется, поскольку они могут оказаться ключевыми словами в последующих версиях языка ActionScript.

abstract

Boolean

byte

cast

char

Debugger

double

enum

export

Float

goto

intrinsic

long

Prototype

short

synchronized

throws

To

transient

type

virtual

Volatile

ActionScript 3.0 поддерживает инструкцию const, с помощью которой можно создавать константы. Константами называют свойства с фиксированным значением, которое нельзя изменить. Значение константе можно присвоить только один раз, и это назначение должно происходить в непосредственной близости от объявления это константы. Например, если константа объявлена в качестве члена одного класса, можно назначить значение константе только в самом ее объявлении или внутри конструктора класса.

ActionScript 3.0 определяет широкий диапазон готовых к использованию констант. В соответствии с соглашением, константы в ActionScript обозначаются заглавными буквами с разделением слов символом подчеркивания (_). Например, определение класса MouseEvent использует соглашение об именовании своих констант, каждая из которых отражает событие, связанное с вводом данных мышью.

package flash.events

{

public class MouseEvent extends Event

{

public static const CLICK:String = "click";

public static const DOUBLE_CLICK:String = "doubleClick";

public static const MOUSE_DOWN:String = "mouseDown";

public static const MOUSE_MOVE:String = "mouseMove";

...

}

}

объектный ориентированный программирование actionscript

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

Список литературы

1) http://help.adobe.com

2) Мук К. ActionScript 3.0 для Flash. Подробное руководство. - СПб.: Питер, 2010

3) Лотт Д., Шалл Д., Питерс К. ActionScript 3.0: сборник рецептов. - СПб.: Символ-Плюс, 2007

Размещено на Allbest.ru


Подобные документы

  • Елементарні та складні типи даних мови ActionScript: особливості, перетворення, основні оператори. Робота з масивами: створення за допомогою конструктора Array(), визначення розмірів, іменовані елементи, методи їх додавання і вилучення із масиву.

    реферат [22,8 K], добавлен 03.07.2011

  • Причины возникновения объектно-ориентированного программирования. Графическое представление классов; их отличия от других абстрактных типов данных. Типы абстракции, используемые при построении объекта. Сущность инкапсуляции, наследования и полиморфизма.

    контрольная работа [222,1 K], добавлен 04.06.2014

  • Свойства объектно-ориентированного языка программирования. Понятия инкапсуляции и наследования. Виртуальные функции и полиморфизм. Инициализация экземпляра объекта с помощью конструктора. Динамическое создание объектов. Совместимость объектных типов.

    реферат [17,0 K], добавлен 15.04.2015

  • Использование объектно-ориентированного программирования - хорошее решение при разработке крупных программных проектов. Объект и класс как основа объектно-ориентированного языка. Понятие объектно-ориентированных языков. Языки и программное окружение.

    контрольная работа [60,1 K], добавлен 17.01.2011

  • История создания языка Java. Основные принципы объектно-ориентированного программирования. Структура, особенности синтаксиса и примеры прикладных возможностей использования языка Java, его преимущества. Перспективы работы программистом на языке Java.

    курсовая работа [795,9 K], добавлен 14.12.2012

  • Особенности реализации главных элементов разрабатываемой программы (цифровые элементы) с помощью объектно-ориентированного подхода. Применение принципа инкапсуляции для защиты данных. Конструирование классов, описание и тестирование программного продукта.

    курсовая работа [2,3 M], добавлен 10.05.2015

  • Использование скриптового языка программирования для разработки web-приложений (сценариев). Изучение основ объектно-ориентированного программирования в языке PHP. Ознакомление со специальными методами для работы с классами. Назначение интерфейсов.

    контрольная работа [25,1 K], добавлен 14.03.2015

  • История развития, характеристика, предназначение и особенности языка программирования Delphi. Разработка проекта создания кроссворда на объектно-ориентированном языке Delphi, который состоит из 19 вопросов по горизонтали и 16 вопросов по вертикали.

    курсовая работа [970,5 K], добавлен 15.05.2014

  • Особенности разработки приложений для операционной системы с помощью императивного, структурированного, объектно-ориентированного языка программирования Delphi. Формальное начало программы. Выделение конца программного блока. Листинг и описание программы.

    курсовая работа [1,2 M], добавлен 04.08.2014

  • Понятие объектно-ориентированного программирования, характеристика используемых языков. Практическая разработка средств объектно-ориентированного программирования в задачах защиты информации: программная реализация на языке С++, а также Turbo Pascal.

    курсовая работа [275,9 K], добавлен 22.12.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.