ПредишенСледващото

Досега във всички наши примери, свойствата на класа се взимат с обикновено ценности като "Роувър", или 5. името на класа (Dog, например) и да ги възлагат на имота става прототип собственост на класа (Dog.prototype в нашия случай). В ActionScript, ние всъщност може да зададете нещо имущество. Това се различава от ActionScript много други езици (Java, например), така че ние ще трябва да се обясни какво се разбира под "собственост". В Java и C ++, има голяма разлика между методите и свойства, които не е както ActionScript-д. И така, какво методи?

Методът е много подобен на това, което ние обикновено мислим, че е функция на програмата, с една разлика, методи винаги са обвързани с класа и, като правило, се наричат ​​от изпълнението на обект от този клас. Методите са предназначени да променя състоянието на обекта и / или връщане на изчислените стойности. Те не се използват за създаване на нова инстанция на класа. Методи никога не използват своите прототипи, те не поставят имоти в собствената си пространство от имена (пространство от имена). Методите не са подобни на класове. Това е просто една програма, принадлежащ към класа.

Може да се каже, че "изглежда" като класове. Те също така се създаде с помощта на функцията, но те не се наричат ​​с помощта на новия оператор. Тяхната дума това се отнася до обекта, който се нарича този метод не се създаде нова. Защото те са като класа не автоматично се връщат на нов обект, те могат да върне стойност, дори и да е празен (недействителни) (макар че не е задължително, това е просто добър програмен стил в строги езици). И накрая, методи, както и останалата част от свойствата на класа, за да се различават от повечето от тези класове, най-добре е да се даде имена, които започват с главна буква. Сега нека да погледнем малко primerchik как да създавате и се обадя методи, а след това ще разберем всички тези условия, по смисъла на който може бавно започна да се изплъзваше от вас.

Забелязахте ли, че ние винаги се определят прототипи, преди те да се създаде инстанция на класа? Flash не може да се позове на методи, които са все още предстои да бъде определена, тъй като той чете и изпълнява кода в реда, в който е писано (това е така, защото при зареждане на SWF файл, никога не може да бъде сигурен дали дадена част от код, зареден). С поглед към конструктора на класа в примера, можете да uglyadet противоречие по-горе. метод calcDogYears се нарича от проектанта, преди тя ще бъде описана в състоянието на техниката. Въпреки това, дизайнерът ще започне едва в момента, в който ще бъде създаден обект "yeller". Когато пишете код, трябва да помислите за класа и нейния прототип като едно цяло и решени заедно. методите от предшестващото състояние на техниката обикновено се определят след неговите свойства.

Въпреки че методи и може да бъде поставен в един клас, например, това се случва рядко. Методи своята същност по-статични от низ или число, така че те вероятно ще останат голям отделен клас. Той вероятно ще бъде ситуация, в която искате да зададете методи по време на изпълнение, да ги минава като аргумент на конструктора. Такъв е случаят, когато веднъж завинаги да се откаже, че най-накрая заплете в множество отчети, ако-друго. Скоро ще обясня.

Функция, или клас, или конструктор, или метод, или собственост. Ufff!

Е, да се измъкнем от това, ако има, ще се опитаме да обясним на всички тези условия. В ActionScript-е почти всички от тях малко и свойства на обектите. Това е - голямо нещо, това е важно да се знае, когато имате нужда от нещо, не просто се опише какво, че нещо ще бъде физически, но също така да се определи поведението на нещо, че тя трябва да бъде направено. всичко това се Прекратяване на главите си, започнете бавно с класове, методи и функции.

  • Клас (клас) - на определението или шаблон, необходима за създаване на нов обект. Ключова дума: ново. Това включва определянето на прототип на класа. Той не се връща никаква стойност, защото новосъздадения обект се връща. Всеки път, когато използвате оператора ново. създадете нова инстанция на класа. Ключовата дума това се отнася за новосъздадената инстанция. Аргументите се използват за получаване на всеки обект специфични свойства.
  • Метод (Метод) - програма, която е почти винаги са дефинирани в класа на прототип, и винаги минава през обекта (обикновено една инстанция, която има директен достъп до метода). Методът може да се използва аргументи и връща стойност. тази дума се отнася до обекта, начина на разговори. Въпреки че методът е прототип и пространство от имена, те са пренебрегнати.
  • Функция (Function) - може да се чудя как да стигна до тук ", се вписват в" с обичайните функции, а не създаване на нови обекти и не принадлежат към класа? Е, нищо. Ако ще да се затвори за освобождение на Палестина, за да се направи, трябва да го научат добре. Функции съществуват сами по себе си - жителите на онзи свят, наречен процедурно програмиране (о, да, те също са много полезни и хладно, но не и в света на обектно-ориентиран).
  • В конструктора (конструктора) - се отнася до клас, който създава / създаден обект. Неговото име е същото като името на класа, е блок от код е необходимо да се инициализира клас обект.
  • Имоти (Properties) - технически това е нещо, което възлага на обекта, който е собственост на обекта. Това нещо може да бъде низ, номер и т.н. както и метод и друг обект. Под свойствата често означават всичко "nemetody", така че бъдете готови за него. ActionScript не прави разлика между методи и свойства, но понякога трябва да бъде. Имоти понякога се наричат ​​атрибути (само за информация), променливи (само данни), членове на клас (данни и методи), дори полета (данни и методи), макар че те винаги ще носят двойно значение има проблем с времето, когато започнете да използвате тези термини. За щастие, в 99 от общо 100 случая на истинския смисъл на думата, можете да се досетите от контекста. Останалите 1% - само ActionScript-и имущество. Обобщаване това може да означава всичко nemetody или методи и nemetody, всичко зависи от контекста.
  • членовете на групата (членове) - също да се отбележи, както е общо наименование за свойствата на обекти и методи. В този случай, класа или обект може да се разглежда като съвкупност от определени неща и тези неща са членовете на тази група.
  • Предмети или случаи на клас (обект срещу съд) - това е най-общо, синоними, въпреки че обикновено се нарича като например на обект създаден с оператора нов. докато обекта - общо име за всички обекти. Бъдете на броя на редовете и са обекти, той всъщност случаите, създадени ActionScript-вътрешни и конструктори. Обикновено например ясно показва вида на обекта, но вие винаги ще бъдете в състояние да се досетите от контекста.
Подкрепете проекта - споделете линка, благодаря!