Webmaster общности: Predpriemach.com | SearchEngines.bg

    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.Пакета трябва да описва пътя, до където се намират класовете от този пакет

    1. Нека дефинираме 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, но за това в следващия урок.

    Оставете коментар