20 марта 2011 г.

Action Script 3. Основы ООП.

Привет всем. С этого урока мы начнем более детальное изучение технологий AS3 именно как объектно-ориентированного языка программирования.

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

Вообще то, что мы изучали, собственно, отличалось от предыдущих версий языка Action Script лишь синтаксисом, и, возможно, некоторыми инструментами. AS3 — это в большей степени язык ООП, хотя такие принципы использовались также и в AS2.

В as3 невозможно писать код на объектах рабочего пространства, также как и не принято писать код на кадрах. Мы это делали исключительно для обучения. Обычно для написания хорошего Flash-приложения создается несколько *.as файлов, представляющих собой классы, один из которых является основным и активирует работу остальных классов. Для запуска такого приложения в среде разработки Flash необходимо также создать *.fla файл и в поле Document Class вписать имя основного класса. После компиляции создастся *.swf файл.

Рассмотрим основы на простом примере.

1. Откроем Flash и создадим новый файл ActionScript.

Перед нами пустой лист, на котором будет располагаться только код класса. Для начала нам нужно определить пакет класса. Для этого используется конструкция
package имя пакета { }

Этот пример не будет использоваться в дальнейшем, значит и имя нам не нужно. В первую строчку впишем:
 package {

2. Далее нам нужно импортировать нужные пакеты классов.
 import flash.display.*;

Пакет flash.display отвечает за отображение объектов. В него входят такие важные классы, как Sprite или MovieClip.
3. Теперь обозначим класс.
public class FirstExample extends Sprite {


  • public — это модификатор доступа. Public(публичный, открытый) означает, что данный класс открыт для использования. Основные классы всегда имеют атрибут public.

  • class — ключевое слово для обозначения класса. Далее нужно указать имя класса

  • extends Sprite — означает наследование класса Sprite, то есть создаваемый нами класс будет иметь те же методы, что и у наследуемого класса, или суперкласса. Стоит сказать, что основной класс в программе всегда должен наследовать класс Sprite или MovieClip, так как он отображает объекты на рабочем пространстве.


Эти пункты будут рассмотрены в последующих уроках.
4. Далее идет тело класса, которое может содержать объявление переменных, констант, или определение методов класса. Создадим главный метод класса — метод-конструктор, который определяет основные действия класса. Имя метода-конструктора должно совпадать с именем класса.
	public function FirstExample():void {
trace("It works!");
}
}
}

Модификаторы управления доступом (public, private, protected) также должны быть использованы и для методов. Методы, по сути, являются функциями, в теле которых мы можем использовать все то, чему научились ранее. К примеру, воспользуемся стандартной функцией trace() и выведем текст в output.
5.

Сохраним этот файл с под именем FirstExample.as в отдельной папке. В той же папке создадим файл
FirstExample.fla. Затем в поле DocumentClass впишем FirstExample, то есть имя ранее созданного основного класса. Теперь протестируем ролик. В окне вывода появились ожидаемые строки.

Вообще, классы распределяются на предопределенные и определяемые пользователями. Предопределенные, такие как Timer, Tween или даже Number написаны при создании языка as3. А те классы, которые пишем мы, по сути, никак не отличаются от предопределенных. В этом и заключается основная концепция ООП.
Например, у класса Timer() есть метод stop(), который останавливает таймер. Это значит, что в теле класса таймер был определен какой то метод stop(), который не является методом-конструктором, но может быть использован извне. Такие методы мы будем создавать и использовать в дальнейшем в каждом классе.

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

0 коммент.:

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