Cercul De Rich Internet Applications Variabile, Functii, Obiecte, Mosteniri

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Cercul De Rich Internet Applications Variabile, Functii, Obiecte, Mosteniri - Presentation Transcript

    1. Cercul de Rich Internet Applications
      Facultatea de Informatică
      Iași
    2. Data trecută… am…
      Am văzut cam ce și cine este RIA
      Am vizionat o grămadă (mică) de exemple
      Am aflat istoria Flash-ului
      Am discutat despre instrumentele necesare pentru realizarea aplicațiilor Flash
      Am înțeles ce înseamnă player Flash
      Am făcut o primă aplicație (banală) de tip
      Hello World 
      2
      http://www.info.uaic.ro/~flash
    3. Tura asta vom…
      Face “prezența” aia să vă cunosc și io [și să văd câți ați rămas] – facem o listă pe undeva ?
      Facem un quiz rapid
      Nu uitați de site… http://www.info.uaic.ro/~flash
      Ne băgăm în AS3: Variabile, Funcții, Obiecte, Moștenire
      3
      http://www.info.uaic.ro/~flash
    4. Quiz
      Cam cât de bine știți să programați în Flash (sau Java, C#, JavaScript, PHP)
      4
      http://www.info.uaic.ro/~flash
    5. Quiz
      Aveți vreun subiect favorit despre care ați dori să auziți pe la cercul acesta ?
      5
      http://www.info.uaic.ro/~flash
    6. Quiz
      Câți dintre dvs. ați făcut Hello World-ul de data trecută ? – de curiozitate să vedeți dacă vă iese?
      6
      http://www.info.uaic.ro/~flash
    7. Quiz
      Câțidintrevoiați vizitat http://www.info.uaic.ro/~flash ?
      7
      http://www.info.uaic.ro/~flash
    8. 8
      http://www.info.uaic.ro/~flash
    9. 9
      Forum
      http://www.info.uaic.ro/~flash
    10. 10
      http://www.info.uaic.ro/~flash
      Tutoriale Video
    11. Reamintim primul cod…
      11
      http://www.info.uaic.ro/~flash
    12. Să începem cu începutul tura asta….
      12
      http://www.info.uaic.ro/~flash
    13. Variabilă
      Valorile pe care le utilizăm în programare sunt păstrate în memoria calculatorului.
      Pentru că nouă (oamenilor) ne este greu să știm mereu la ce adresă (număr foarte mare) de memorie se află o valoare, preferăm să creăm identificatori care să memoreze pentru noi aceste valori.
      Accesul se va face ulterior pe baza identificatorilor (denumiți variabile).
      13
      http://www.info.uaic.ro/~flash
    14. Variabilă
      O variabilă este așadar un identificator ușor de ținut minte care indică o anumită zonă de memorie.
      Uneori zona de memorie este mai mică, alteori mai mare (ca să descriem un elefant ne trebuie mai multă memorie decât cea necesară pentru a descrie un purice).
      Din acest motiv, zicem că variabilele au anumite tipuri.
      14
      http://www.info.uaic.ro/~flash
    15. Variabilă
      O variabilă este (în final) un identificator ce indică o anumită zonă de memorie (și când zicem zonă, zicem de unde începe și cât de mare este).
      Pentru a declara o variabilă în AS3 procedăm astfel:
      var numeVariabilă : tip [ = valoare]
      15
      http://www.info.uaic.ro/~flash
      nume
      tipul
      Opțional o valoare inițială
      Cuvânt - cheie
    16. Tipuri de date
      Numerice:
      - int (întreg cu semn, pe 32 biți)
      - uint (întreg fără semn, tot pe 32 de biți)
      - Number (virgulă mobilă, 64 de biți)
      Atunci când aveți de ales între ele, țineți cont că int, uint sunt accesate mai rapid de FlashPlayer.
      Operatori: + - * / %
      16
      http://www.info.uaic.ro/~flash
    17. Tipuri de date
      Boolean
      - două valori: true / false
      Operatorilogici:
      && - și logic, || - sau logic, ! – not logic
      Operatorii de comparație au ca rezultat o valoare booleană. Aceștia sunt: <, >, <=, >=, ==, != (diferit),
      17
      http://www.info.uaic.ro/~flash
    18. Tipuri de date
      String – șiruri de caractere
      Array – tablouri de elemente
      Object – definirea unui obiect generic
      Date – pentru manipularea datelor calendaristice
      * - date fără tip (nerecomandat)
      XML, Sprite, Sound, MovieClip, Event, Video, TextField, Microphone, Bitmap, RegExp, etc.
      18
      http://www.info.uaic.ro/~flash
    19. Exemple de variabile:
      19
      http://www.info.uaic.ro/~flash
    20. Funcții
      Funcțiile sunt subprograme care “fac ceva”.
      De exemplu: adună două numere, testează dacă azi e joi, desenează un cerc, redă o melodie etc.
      La fel ca variabilele, funcțiile au un identificator – un nume (pentru a apela funcția)
      20
      http://www.info.uaic.ro/~flash
    21. Funcții
      Funcția poate primi o serie de parametri (de exemplu dacă e să adunăm trei numere, aceste trei valori trebuie să ajungă într-un fel în interiorul funcției).
      Funcția poate returna o valoare (de exemplu suma numerelor) care poate sau nu să fie utilizată/memorată.
      21
      http://www.info.uaic.ro/~flash
    22. Funcții
      Funcția poate primi o serie de parametri (de exemplu dacă e să adunăm trei numere, aceste trei valori trebuie să ajungă într-un fel în interiorul funcției).
      Funcția poate returna o valoare (de exemplu suma numerelor) care poate sau nu să fie utilizată/memorată.
      22
      http://www.info.uaic.ro/~flash
    23. Cam așa arată o funcție:
      function aduna(a: uint, b:uint):uint
      {
      return ( a + b );
      }
      23
      http://www.info.uaic.ro/~flash
      Tipul valorii returnate de funcție
      Numele funcției
      Parametrii și tipurile lor
      Cuvânt cheie
      Dacă returnează ceva, trebuie să aibă return
      Tipul valorii a + b este uint (deci de tipul returnat de funcție)
    24. Funcții
      Variabilele pot fi inițializate în antetul funcției, în cazul în care apelul nu conține acea variabilă, se va considera valoarea predefinită:
      function aduna(a: uint, b:uint = 2):uint
      {
      return ( a + b );
      }
      aduna ( 7 ); // de fapt va aduna 7 cu 2
      24
      http://www.info.uaic.ro/~flash
    25. Funcții
      Un tip special de dată de intrare este args. Acest tip poate primi oricâte valori ce vor fi memorate automat într-un tablou:
      function aduna(...args):uint
      {
      var suma:uint = 0
      for(var i:uint = 0; i<args.length; i++)
      suma = suma + args[i];
      return suma;
      }
      aduna ( 7, 8, 2, 9, 12, 122 ); //7+8+..122=160
      25
      http://www.info.uaic.ro/~flash
    26. AS3 lucrează NUMAI cu obiecte
      Ei, și dacă funcționează numai cu obiecte, ce-o fi acela un obiect ?
      26
      http://www.info.uaic.ro/~flash
    27. Ce e acela obiect ?!
      Exemplu: presupunem că în fața blocului nostru trăiește un cățel (maidanez) – să vedem cum “funcționează” :D
      27
      http://www.info.uaic.ro/~flash
    28. Ce e acela obiect ?!
      Câinele are un nume: Max, are o culoare: maro cu negru, culoarea ochilor este: maro, are o vârstă: 4, un număr de picioare: 3 (e veteran de lătrat după mașini).
      Toate cele mai de sus se numesc proprietăți (sau atribute) ale obiectului.
      28
      http://www.info.uaic.ro/~flash
    29. Ce e acela obiect ?!
      Câinele poate face o serie de acțiuni: latră, mușcă, aleargă, mănâncă etc.
      Acțiunile pe care le face câinele pot fi considerate “funcții” pe care cățelul nostru le poate executa.
      Aceste funcții se numesc “metode”.
      29
      http://www.info.uaic.ro/~flash
    30. Ce e acela obiect ?!
      Uneori, anumite metode sunt executate automat din pricina apariției unor “evenimente”: dacă cineva strigă “cuțu”, atunci este apelată automat metoda “întoarce capul” sau “dă din coadă”
      30
      http://www.info.uaic.ro/~flash
    31. Cum se definește un obiect ?
      Ei bine, Max este un caz particular de cățel. Putem totuși să ne gândim că toți cățeii au un nume, o culoare sau pot lătra.
      Atunci pentru a defini obiectul va trebui să creăm o “definiție” a acestuia: acest lucru se realizează într-o clasă.
      31
      http://www.info.uaic.ro/~flash
    32. Câte ceva despre clase
      Anumite proprietăți pot fi accesate și modificate de alte obiecte (numele câinelui).
      Unele proprietăți pot fi citite de alte obiecte și nu pot fi modificate (culoarea ochilor).
      Un obiect poate avea anumite proprietăți “intime”… la care celelalte obiecte nu trebuie să aibă acces: [inima, ficatul]
      Așa au apărut modificatorii de acces.
      32
      http://www.info.uaic.ro/~flash
    33. Câte ceva despre clase
      Fiecare dată membru (proprietate sau metodă) trebuie să aibă un modificator de acces !
      Modificatorii de acces în AS3 sunt:
      - public (poate accesa oricine)
      - private (poate accesa doar obiectul)
      - protected (poate fi accesată și de instanțe ale sublcaselor)
      - internal (poate fi accesată de clase din același pachet)
      - namespaces ??
      33
      http://www.info.uaic.ro/~flash
    34. Cam așa ar arăta clasa Cățel:
      34
      http://www.info.uaic.ro/~flash
    35. Despre clase (moștenire)
      OK, avem clasa Cățel. Dar dacă drept animal vreau să am și un Dulău (un câine mult mai mare) ?
      Dacă vrem să construim o clasă pornind de la o clasă deja existentă, facem acest lucru prin extinderea clasei inițiale.
      După numele clasei putem adăugaȘ
      ……extendsClasăDeBază
      Ex: public class Dulău extends Cățel;
      35
      http://www.info.uaic.ro/~flash
    36. Despre clase (moștenire)
      Clasa extinsă se va numi superclasă.
      Clasa nouă se numește subclasă.
      În mod uzual, subclasa va avea toate proprietățile și metodele definite în superclasă (de exemplu orice dulău va lătra, mușca, va avea un nume sau o culoare).
      36
      http://www.info.uaic.ro/~flash
    37. Despre clase (moștenire)
      Deoarece moștenirea creează obiecte mai bune sau particularizate într-un anumit fel, s-a hotărât ca în AS3 (dar nu numai) să existe o clasă generală: clasa Object.
      Orice clasă din AS3 este construită prin extinderea clasei Object sau prin extinderea unei clase ce a extins Object.
      37
      http://www.info.uaic.ro/~flash
    38. Despre clase
      38
      http://www.info.uaic.ro/~flash
    39. Sprite are metode din Object
      39
      http://www.info.uaic.ro/~flash
    40. Utilizarea clasei:
      Un obiect se declară la fel cum se declara orice variabilă.
      Deoarece obiectele (mai complexe decât Number, uint, String – care sunt și ele obiecte, subclase ale lui Object) nu sunt create automat în memorie, este nevoie de instanțierea lor explicită, utilizând un operator special: new
      40
      http://www.info.uaic.ro/~flash
    41. Utilizarea clasei:
      Exemplu de instanțieride clase:
      var catelulBlocului : Catel; // declarare
      catelulBlocului = newCatel(); // creare
      Partea frumoasă e că putem crea oricâte instanțe și să le particularizăm diferit.
      41
      http://www.info.uaic.ro/~flash
    42. Utilizarea clasei:
      Atunci când este creat un nou obiect (instanță), este apelată o metodă specială denumită constructor. Din acest motiv, după numele clasei (din dreptul lui new) apar paranteze.
      42
      http://www.info.uaic.ro/~flash
    43. Constructorul unei clase
      Constructorul are rolul de a face anumite inițializări necesare bunei funcționări ale obiectului.
      Pentru că este atât de specială,
      metoda-constructor are același
      nume ca și clasa ;)
      43
      http://www.info.uaic.ro/~flash
    44. Clasele (așa, ca idee)
      44
      http://www.info.uaic.ro/~flash
    45. Ne jucam cu cerculețe….
      Let’s code somethin’
      Să facem clasa Balon. Clasa Balon extinde Sprite, în Sprite există o proprietate graphics (care este un obiect de tip Graphics) în care putem desena – un oval (balonul).
      Clasa Balon va avea proprietățile x și y reprezentând poziția balonului.
      45
      http://www.info.uaic.ro/~flash
    46. Ne jucam cu cerculețe….
      Cu ajutorul metodei setInterval putem apela la un interval de timp o anumită metodă. Dacă apelăm setInterval în constructorul clasei balon, putem face ca o metodă din cadrul balonului să fie apelată la un interval de timp (0.1 secunde de exemplu) deplasând de fiecare dată balonul pe una din axe.
      46
      http://www.info.uaic.ro/~flash
    47. Întrebări ?
      47
      http://www.info.uaic.ro/~flash

    + University Al. I. Cuza of Iasi / RomaniaUniversity Al. I. Cuza of Iasi / Romania, 1 month ago

    custom

    756 views, 0 favs, 3 embeds more stats

    In acest Cerc de RIA am discutat despre variabile, more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 756
      • 441 on SlideShare
      • 315 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 15
    Most viewed embeds
    • 275 views on http://profs.info.uaic.ro
    • 27 views on http://flash.info.uaic.ro
    • 13 views on http://thor.info.uaic.ro

    more

    All embeds
    • 275 views on http://profs.info.uaic.ro
    • 27 views on http://flash.info.uaic.ro
    • 13 views on http://thor.info.uaic.ro

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories