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

50 %
50 %
Information about Cercul De Rich Internet Applications Variabile, Functii, Obiecte,...

Published on October 10, 2009

Author: vcosmin

Source: slideshare.net

Description

In acest Cerc de RIA am discutat despre variabile, funcții, clase, obiecte - la un nivel mai mult informal. De asemenea am realizat o aplicație cu balane (pe care o găsiți la adresa http://www.info.uaic.ro/~flash

Cercul de Rich Internet Applications Facultatea de Informatică Iași

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

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

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

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

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

Quiz Câțidintrevoiați vizitat http://www.info.uaic.ro/~flash ? 7 http://www.info.uaic.ro/~flash

8 http://www.info.uaic.ro/~flash

9 Forum http://www.info.uaic.ro/~flash

10 http://www.info.uaic.ro/~flash Tutoriale Video

Reamintim primul cod… 11 http://www.info.uaic.ro/~flash

Să începem cu începutul tura asta…. 12 http://www.info.uaic.ro/~flash

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

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

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

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

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

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

Exemple de variabile: 19 http://www.info.uaic.ro/~flash

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

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

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

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)

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

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

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

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

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

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

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

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

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

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

Cam așa ar arăta clasa Cățel: 34 http://www.info.uaic.ro/~flash

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

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

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

Despre clase 38 http://www.info.uaic.ro/~flash

Sprite are metode din Object 39 http://www.info.uaic.ro/~flash

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

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

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

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

Clasele (așa, ca idee) 44 http://www.info.uaic.ro/~flash

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

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

Întrebări ? 47 http://www.info.uaic.ro/~flash

Add a comment

Related pages

JavaScript - Wikipedia

Variabile Variabilele în ... Alte obiecte sunt obiecte "gazdă", definite nu prin limbă, ci de mediul de rulare. ... dintre care unele sunt functii.
Read more

www.scribd.com

A. TRer PSl OlOGl Mielu Zlate EUL • Sl ~ PERSONALITATEA edi!ia a treia, adaugita A TReI Editori: MARIUS CHIVU SILVIU DRAGOMIR VASILE DEM. ZAMFIRESCU ...
Read more

Los imaginarios de la integración: la dimensión ...

www.sppir.uav.ro/pdf/s... Views. connect to download
Read more

Caietdepracticapedagogica2 Ptr Final- Varianta Veche

Mesaj.descrierea unui obiect sau a unui ansamblu de obiecte. răspunsul ... fiecarei functii sintactice .si ... adjectivele variabile ...
Read more

6927049 Mielu Zlate Eul Si Personalitatea

Prin toate aceste functii, ... in cercul cel mai mare, trasaturile secundare. ... se transforma in lucruri sau in obiecte, ...
Read more

Cursuri acreditate grafica publicitara, web design, php ...

... .tiff, .png, asociate cu tiparul sau publicarea pe Internet; Efecte ... cliparturi si obiecte ... returnarea de valori din functii; variabile ...
Read more