Понякога е необходимо да се създаде такъв потребителски клас в Actionscript 3, който да ползва всички или повечето свойства (property) и методи (method) на друг, вече съществуващ, клас. В този урок ще създадем клас (class), който показва предварителни (неголеми по размери и средни по качество) фотографии, такива, каквито обикновенно виждаме във виртуалните фотогалерии. Основните свойства на такива предварителни изображения са същите, каквито и в оригиналните файлове: име, място на съхраняване на файла и т. н. Единствената разлика е в размерите на файла. Затова, вместо да създават наново всички детайли, които се съдържат в класа Picture, вие можете да създадете подклас! По такъв начин подкласът Thumbnails наследява всички свойства на класа Picture и ще има свои собствени, такива като неголям размер на файла.
Процесът на създаване на подкласа е известен като разширяване на класа (extend). Вие вземате вече съществуващ клас и го разширявате, добавяйки му нови свойства и методи. Класът, който се разширява се нарича суперклас. И така - подклас и суперклас, много просто!
По време на създаване на подкласа вие трябва да импортирате (import) в него суперкласа, съпровождайки процеса със запис на пълното име на суперкласа (името на класа и името на пакета, в който се намира). След това в реда с декларацията на подкласа записвате:
- модификаторът достъп до него
- ключовата дума class
- мето на подкласа
- ключовата дума extends
- името на суперкласа
- фигурни скобки
Свойствата и методите на суперкласа стават достъпни чрез метода super(). Ако вие правите разширение на клас, вече вграден в ActionScript, то ще трябва да видите пълното му име или в хелпа на програмата Flash CS6, или в официалната документация на езика ActionScript 3 в Интернет.
Разширяване на клас в Actionscript
Създайте нов файл в AS3 (Създаване на нов ActionScript файл).
Декларирайте пакета, който ще съдържа разширяемия клас. Например:
package gallery{ }
Във фигурните скобки направете запис за импортирането на суперкласа. Например:
import gallery.Picture; // gallery – име на пакета, Picture – име на суперкласа
Декларирайте подкласа. Например:
public class Thumbnails extends Picture{ }
Във фигурните скобки създайте свойствата (променливите(var)) на този клас. (Задаване свойства на клас в AS3)
Създайте необходимите методи за този подклас (Методи в ActionScript).
Изберете File –> Save As и запазете файла.
Вие създадохте подклас Thumbnails, т.е. разширение на класа Picture.
Допълнителна информация
Макар че е логично да поставяте подкласа в папка при суперкласа, това не е задължително, тъй като вие указвате пълното име на суперкласа (името на пакета и името на суперкласа) по време на указване на импорта. Следователно можете да го разполагате в която папка си пожелаете.
Някои класове, които имат атрибут final не трябва да се разширяват.
final public class MyClass{ }
Към тези класове се отнасят и вградените в ActionScript 3 класове Math, Mouse и др.
В реални flash-филми, когато създавате нов символ на сцената, с това създавате разширение на класа MovieClip или SimpleButton.
Имате въпрос?
Потърсете отговор в нашите
Често Задавани Въпроси
или се свържете с нас
![]() |
0878 679 639 |
![]() |
Пишете ни |
![]() |
AртСторм |