Понимание ActionScript > Написание скриптов на ActionScript > Об объектно-ориентированном программировании
Об объектно-ориентированном программированииВ объектно-ориентированном программировании информация организуется путем ее объединения в группы, называемые classes (классы). Можно создать множество экземпляров класса, которые называются objects (объекты). Вы можете использовать встроенные классы ActionScript или создавать свои.
При создании класса, вы устанавливаете все properties (свойства, характеристики) и methods (методы, поведение) каждого созданного объекта точно также как и у каждого реального объекта. Например, человек имеет такие свойства как: пол, рост и цвет волос, такие методы как: говорить, ходить и бросать. В этом примере "человек" это класс, а каждый индивидуум - объект или instance (экземпляр) этого класса.
Объекты в ActionScript могут содержать данные или они могут быть графически представлены на сцене в качестве муви-клипов. Все муви-клипы являются экземплярами предустановленного класса MovieClip. Каждый муви-клип содержит все свойства (например _height, _rotation, _totalframes
) и методы (например gotoAndPlay, loadMovie, startDrag
) класса MovieClip.
Чтобы определить класс, вы должны создать специальную функцию, называемую constructor function (конструктор класса), предустановленные классы уже имеют конструкторы. Например, если вы хотите иметь информацию об велосипедисте в вашем клипе, можете создать конструктор класса Biker
, со свойствами time
и distance
и методом rate
, который сообщает как быстро движется велосипедист:
function Biker(t, d) { this.time = t; this.distance = d; } function Speed() { return this.time / this.distance; } Biker.prototype.rate = Speed;
Затем можете копировать экземпляры класса. Следующий код создает экземпляры объекта Biker
, которые называются emma
и hamish
.
emma = new Biker(30, 5); hamish = new Biker(40, 5);
Экземпляры также могут взаимодействовать друг с другом. Для объекта Biker
вы можете создать метод shove
, который позволит велосипедистам толкать друг друга. (Экземпляр emma
может вызвать метод shove
если hamish
подъедет слишком близко.) Чтобы передать информацию методу, используются параметры (аргументы): например, метод shove
может иметь параметры who
и howFar
. В следующем примере emma
толкает hamish
на 10 пикселей:
emma.shove(hamish, 10);
В объектно-ориентированном программировании классы могут получать свойства и методы один от другого в определенном порядке. Этот порядок называется inheritance (наследование). Вы можете использовать наследование для расширения или переопределения свойств и методов класса. Класс, который наследуется от другого класса называется subclass (подкласс, потомок). Класс, который дает свойства и методы называется superclass (надкласс, родитель). Класс может быть одновременно и потомком и родителем.