Packages и Classes в ActionScript 3.0
Автор: Rado
Какво представляват класовете в 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.Пакета трябва да описва пътя, до където се намират класовете от този пакет
- Нека дефинираме 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, но за това в следващия урок.



