Изпратете запитване:
Полетата маркирани със звезда (*) са задължителни за попълване.
Vinaora Nivo SliderVinaora Nivo SliderVinaora Nivo Slider
1 1 1 1 1 1 1 1 1 1 Rating 5.00 (1 Vote)

Сега ще разгледаме следните 5 неща:

  1. Типове данни. Обща информация.
  2. Типове данни в ActionScript
  3. Декларация на типовете данни
  4. Нетипизирани данни
  5. Изменение на типа данните

ActionScript 3 е програмен език, който изисква задължителна декларация на типа на данните при създаване на променливите.

Тип на данните. Обща информация

Езиците за програмиране, базите данни и другите компютърни програми трябва да могат да различат данните с които работят. Ако типа на данните не е определен, компютърът обикновено издава съобщение за грешка. Например, ако на компютъра е инсталирана операционната система Microsoft Windows, и вие запазите серия от файлове с имена, започващи с цифра, то те ще бъдат сортирани некоректно - след файла с име 1.png следва 10.png, а не 2.png. Това е така, защото Windows възприема имената на файловете не като цифри, а като букви и имена, започващи с цифрата 1 (1, 11, 15, 124, 10345 и т.д.) винаги ще се показват преди тези, започващи с цифрата 2.

Подобни проблеми могат лесно да бъдат решени с помощта на типовете данни. Ако можем да съобщим на програмата, че определена част от кода се явява число по своя тип, то програмата ще я обработва по съответния начин: ще я сортира правилно, ще извършва с нея математически операции и т. н.

Типове данни в ActionScript

Основни типове данни в Actionscript

Съществуват три основни типа данни в ActionScript: Null, void и Object.

Null (нула) има едно единствено значение – отсъствие на значение. Това означава, че променливата няма никакво значение. Обърнете внимание null – не е 0 и не празен стринг (поредица от символи), защото нулата и празния стринг все пак са някакво значение.

Подобно на типа данни Null, void (неопределен) има едно единствено значение: undefined (значението не е определено). Най-често ще се сблъсквате с този тип, когато работите с функции, които не връщат никакво значение. Този въпрос ще бъде обсъден в следващите уроци.

Типа данни Object (обект) включва в себе си всички екземпляри на всички класове, в това число и вградените в ActionScript. По време на нашите уроци вие ще видите множество примери, когато ще се създават екземпляри именно на такива обекти.

В допълнение към гореизброените основни типове данни Actionscript, разпознава като тип данни всеки клас, както първоначално вградените в него, така и създадените от вас. Затова вие можете да присвоявате на променливите такива типове данни, като String, Number, Array и т.н. Това на свой ред означава, че вие създавате променливи, които се явяват съответно екземпляри на класовете String, Number и Array.

Прости типове данни

На променливата може да бъде присвоен прост тип данни. В AS3 (ActionScript 3) – това са String (символен низ, поредица от символи), Boolean (булев тип), Number (число), int (цяло число) и uint (цяло положително число).

Символен низ (strings) – това са букви, думи, фрази, части от текст, които могат да съдържат в себе си букви, цифри и празни позиции. Символните низове са винаги в кавички! Това ги отличава от всички други типове данни при записване. 

Булевият тип данни (boolean) е наречен така в чест на физика Джорж Бул. На променливите от този тип могат да бъдат присвоени само две значения - или true (1) или false (0). Както и в други програмни езици в ActionScript значението true съответства на каквото и да било число, различно от нула.

Типът данни Number е за работа с числови значения. Той съдържа в себе си два подтипа: int (integer) – цяло число, което може да бъде както положително, така и отрицателно, и uint (unsigned integer) – само положително цяло число, включително и  нулата.

Сложни типове данни

Понякога ще трябва да съхранявате в променливите няколко значения. Това може да стане с помощта на сложните типове данни. Един от примерите за такъв тип е Array (масив), работата с който ще разгледаме по-късно.

Декларация на типа данни

Определянето на типа данни в ActionScript за променливите става по време на тяхното деклариране. След името на променливата се поставя двоеточие и се записва типа на данните, които се съхраняват в нея. В повечето случаи в АctionScript (но не винаги) типът данни ще бъде някой клас, затова името му трябва да започва с главна буква. Например, когато създадохме променлива myName и и и присвоихме тип на данните String. В резултат получихме следното:

var myName:String;

Нетипизирани данни

В определени ситуации е необходимо да се избегне указването на тип на данните на променливата. Това се прави лесно - просто се изпуска указването на типа, както е в следващия пример:

var myData;

Но трябва да имате предвид, че правейки това, вие ще оставите повод за съмнение у тези, които четат след това вашия код - дали е грешка или умишлено. Затова, ако наистина не искате да присвоявате тип на дадена променлива, на мястото на типа сложете звездичка* (астериск). Например:

var myData:*;

И двата примера ще работят еднакво. И тук още веднъж искам да напомня, че нетипизираните данни трябва да се използват само когато е абсолютно необходимо.

Променливите, на които е присвоен определен тип данни, трябва да съдържат в себе си само данни от този тип. Ако някоя променлива е нетипизирана, системата няма да ви издаде съобщение за грешка, което прави грешките от този тип много трудно откриваеми. Докато при типизираните променливи системата ще ви издаде съобщение за грешка с номера на реда, където тя възниква, в случаите, когато типа на променливата не отговаря на дефинирания.

Изменение типа на данните

Ако трябва да измените типа на данните на Actionscript променлива, можете да направите това с помощта на метода casting (кастинг). Вие просто записвате новия тип, а след това в скоби записвате името на променливата. Например:

var myName:String = "Иван Стоянов";
  Boolean(myName);

Тук е важно да се отбележи, че смяната на типа на данните в ActionScript не винаги е успешна. В показания пример няма да има проблем с обработката на кода. Сега значението на променливата myName ще съответства на true. Ние вече знаем, че всеки непразен стринг ще се приравнява на true когато става въпрос за булев тип (boolean). Обаче, следващият пример показва трудностите, които възникват по време на кастинга.

var myName:String = "Иван Стоянов";
  Number(myName);

След тази операция, значението на променливата myName ще е равно на NaN (Not a Number) – не число! Т.е. съвсем не това, което сме очаквали. Това става, защото символен низ, състоящ се от букви, не може да бъде преобразуван в число. Обратната операция е възможна, защото символните низове могат да съдържат в себе си числа.

var sum:Number = 356;
  String(sum);

Имате въпрос?

Потърсете отговор в нашите
Често Задавани Въпроси
или се свържете с нас

phone 0878 679 639
mail Пишете ни
skype AртСторм