Metode și proprietăți, flash, articole, programare - programare c, delphi, c #

Până în prezent, în toate exemplele noastre, proprietățile claselor sunt luate de valori simple, cum ar fi „rover“ sau 5. numele clasei (câine, de exemplu) și să le atribuie proprietatea a devenit proprietatea prototip al clasei (Dog.prototype în cazul nostru). În ActionScript, putem să atribuim ceva unei proprietăți. Aceasta diferă de la ActionScript multe alte limbi (Java, de exemplu), așa că va trebui să explice ce se înțelege prin „proprietate“. În Java și C ++, există o mare diferență între metode și proprietăți, care nu este ActionScript. Deci, care sunt metodele?







Metoda este foarte asemănătoare cu ceea ce în mod obișnuit înseamnă o funcție într-un program, cu o diferență, metodele sunt întotdeauna legate de clasă și, de regulă, sunt chemați de la obiectul de implementare al acestei clase. Metodele sunt concepute pentru a modifica starea acestui obiect și / sau pentru a returna valorile calculate. Ele nu sunt folosite pentru a crea o nouă instanță a clasei. Metodele nu folosesc niciodată prototipurile lor, nu pun proprietăți în propriul lor spațiu de nume. Metodele nu arată ca niște clase. Acestea sunt doar programe aparținând clasei.

Poți să spui că "arată" ca niște clase. Ele sunt, de asemenea, create folosind funcția, dar nu sunt apelate cu noul operator. Cuvântul lor cheie se referă la obiectul care a numit această metodă, nu la cel nou creat. Pentru că ei sunt ca clase nu se întoarce în mod automat un obiect nou, se pot returna o valoare, chiar dacă este gol (void) (deși nu este o cerință, este stilul bun doar de programare în limbi mai stricte). În cele din urmă, metodele, ca și celelalte proprietăți ale clasei, pentru a le distinge de aceste clase, este mai bine să dai nume care încep cu o literă mare. Acum, să ne uităm un pic primerchik modul de a crea și de apel metode, iar apoi vom înțelege toți acești termeni, sensul care poate a început încet să alunece departe de tine.

Ați observat că întotdeauna definim prototipuri înainte de a crea o instanță a clasei? Flash nu poate apela metode care nu sunt definite încă, deoarece citește și execută codul în ordinea în care este scris (asta pentru că atunci când încărcați un fișier swf nu puteți fi sigur dacă o anumită bucată de cod a fost încărcată). Privind la constructorul de clasă din exemplu, puteți vedea contradicția cu cele de mai sus. Metoda calcDogYears este apelată de la constructor înainte de a fi descrisă în prototip. Cu toate acestea, constructorul va porni numai când este creat obiectul "yeller". Când scrieți cod, ar trebui să tratați clasa și prototipul acesteia ca o singură unitate și să le definiți împreună. Metodele prototipului sunt de obicei determinate după proprietățile sale.







Deși metodele pot fi plasate într-o instanță a unei clase, acest lucru este rar. Metodele prin natura lor sunt mai statice decât șiruri de caractere sau numere, astfel încât acestea vor rămâne probabil o clasă mare separată. Probabil va exista o situație în care doriți să stabiliți metode în timpul rulării, trecându-le ca un argument constructorului. Acesta este cazul în care refuzați odată pentru totdeauna acest lucru, în cele din urmă încâlcit în multele afirmații "if-else". În curând vom explica acest lucru.

Funcția, clasa sau constructorul sau metoda sau proprietatea. Ufff!

Se pare că, din acest motiv, nu, încercați să clarificați toți acești termeni. În ActionScript, aproape toate sunt ușor proprietăți și câteva obiecte. Acesta este un lucru minunat, este important să înțelegeți când aveți nevoie de ceva nu doar pentru a descrie ceea ce va fi ceva fizic, ci și pentru a determina comportamentul acestui lucru pe care va trebui să îl facă. Înfășurați toate acestea în mintea voastră, să începeți încet cu clase, metode și funcții.

  • Clasa este definiția sau șablonul necesar pentru a crea un obiect nou. Cuvânt cheie: nou. Aceasta include definiția clasei prototip. Aceasta nu întoarce nicio valoare, deoarece obiectul nou creat este returnat. De fiecare dată, folosind noul operator. creați o nouă instanță a clasei. Acest cuvânt cheie se referă la instanța nou creată. Argumentele sunt folosite pentru a conferi fiecărui obiect anumite proprietăți.
  • O metodă este un program, aproape întotdeauna definit într-un prototip de clasă și lansat întotdeauna printr-un obiect (cel mai adesea o instanță a unei clase care are acces direct la metodă). Metoda poate folosi argumente și returnează anumite valori. Acest cuvânt cheie se referă la obiectul care invocă metoda. Deși metodele au prototipuri și un spațiu de nume, ele sunt ignorate.
  • Funcție (Funcție) - vă puteți întreba cum funcționează "obișnuit" care nu creează obiecte noi și nu aparține claselor "se potrivesc" aici? Ei bine, în nici un caz. Dacă intenționați să depuneți eforturi pentru PLO, ar trebui să o învățați bine. Funcțiile care există de la sine sunt rezidenții unei alte lumi, numite programare procedurală (oh da, ele sunt, de asemenea, foarte utile și cool, dar nu în lumea PLO).
  • Constructorul (Constructorul) se referă la clasa care creează / creează obiectul. Numele său coincide cu numele clasei, este un bloc de cod necesar pentru inițializarea obiectelor din clasă.
  • Proprietăți - din punct de vedere tehnic, este ceva atribuit unui obiect care a devenit proprietatea acestui obiect. Acest lucru poate fi un șir, un număr etc. precum și o metodă și un alt obiect. Sub proprietățile adesea înseamnă toate "non-tipurile", așa că fii pregătit pentru asta. ActionScript nu face distincția între metode și proprietăți, dar uneori veți avea nevoie de ea. Proprietățile sunt uneori numite atribute (doar date), variabile (doar date), membrii unei clase (date și metode), chiar și câmpuri (date și metode), deși ele vor purta întotdeauna un dublu sens o problemă cu timpul atunci când începe să utilizați aceste termeni. Din fericire, în 99 de cazuri din 100 în sensul adevărat, puteți ghici din context. Restul de 1% este doar o proprietate ActionScript. Rezumând, pot însemna toate metodele, metodele și metodele, totul depinde de context.
  • Membrii clasei sunt, de asemenea, vrednici de atenție, deoarece acesta este un nume comun pentru proprietățile și metodele obiectului. În acest caz, o clasă sau un obiect poate fi considerat o colecție de anumite lucruri și aceste lucruri sunt membrii acestui set.
  • Obiectele sau instanțele clasei (Object vs Instance) sunt, în general, sinonime, deși o instanță este denumită de obicei un obiect creat cu noul operator. În timp ce obiectul este un nume comun pentru toate obiectele. Rândurile și numerele sunt, fără îndoială, obiecte, de fapt ele sunt instanțe create de constructori interni de ActionScript. De obicei, instanța nu indică în mod explicit tipul obiectului, dar puteți ghici întotdeauna din context.






Trimiteți-le prietenilor: