Packages и Classes в ActionScript 3.0
Какво представляват класовете в AS3.0 ? Този урок ще съдържа обяснението на този въпрос.

AS3.0 е обектно ориентиран език базиран на ECMA script.В него всичко е разделено на отделни класове.
Какво точно са класовете ?
Представете си една кола.Лада.Да кажем, че колата символизира крайната програма.Колата е изградена от части - шаси, двигател и т.н.Това са елементите, които я изграждат.Ако приемем, че тези елементи са отделни класове, то тогава колата е изградена от много класове в едно цяло.
За построяването на една кола се правят схеми/чертежи, след което се сглобяват частите - същото е и с класовете : Имайки общата представа за цялата програма, тя се разбива на класове и подкласове, които изпълняват отделни функции - един ще задвижва колата, друг ще следи за разхода на гориво и т.н.

Обобщено : Класовете са строителен материал, нужен за построяването на една AS3.0 програма.

Всичките класове се съдържат в един главен контейнер, наречен пакет ( package ), който описва дадените класове.

Пример : Имаме следната структура от папки, в която е разположена дадена програма

main.as
|tourist -->|web -->|com --> someClass.as
|game --> |player --> player.as
| са папки.
main.as ще бъде в главния package
someClass.as ще бъде в tourist.web.com package
player.as ще бъде в game.player package

Правила за дефиниране на пакет и клас :
1.Името на класа, на конструктор метода и на файла трябва да са едни и същи
2.Пакета трябва да описва пътя, до където се намират класовете от този пакет
3. Нека дефинираме main.as , someClass.as и player.as


main.as :

package {
public class main {

public function main() {
//constructor method
}
}
}



someClass.as

package tourist.web.com {
public class someClass {

public function someClass() {
//constructor method
}
}
}


player.as :

package game.player {
public class player {

public function player() {
//constructor method
}
}
}



Всеки клас дефинира коянтруктор метод, където се създават обектите и се пише главния код и т.н.


Ако искаме да създадем обект от someClass.as в main.as ще направим следното :
в конструктор метода ще създадем нов обект чрез променлива.Toва е възможно, защото someClass е дефиниран като публик и е достъпен.
Освен, че е публик, ще трябва да импортнем и къде се намира, защото someClass не е в същия пакет като main.as ==> ще трябва да импортнем пакета чрез

import tourist.web.com.someClass;
Нека направим 2 обекта за 2та класа

package {
import tourist.web.com.*; // * wildcard за да се импортнат всички класове
import game.player.*; // * wildcard за да се импортнат всички класове
public class main {
public function main() {
//constructor method
var touristInstance:someClass = new someClass() ;
var instancePlayer:player = new player();
}
}
}


Ще ви стане по-ясно ако си имате и понятие от обектно ориентирано програмиране (OOP)
В следващия урок ще продължа със методи и променливи и наследственост.
Познанието на класовете и по-горе изредените неща са от особено значение при програмиране на AS3.0 във flash/flex

Относно компилирането :
Може да компилирате .as файлове в flex/flash/mxmlc, но за това в следващия урок.




/ Трябва да сте регистриран за да напишете коментар /