SlideShare a Scribd company logo
Cercul de Rich Internet ApplicationsConstructor, getteri, setteri, toString,Display ListFacultatea de InformaticăIași
Data trecută… am…Discutat despre variabile şi funcţiiDespre claseDespre proprietăţi şi metode (ale obiectelor)Văzut ce e ăla un constructor (damaivedemşi azi)Chinuit un căţelSpart câteva baloane2http://www.info.uaic.ro/~flash
Tura asta vom…Continua puţin cu constructorul (ca să mă asigur că s-a înţeles)Discuta despre câteva funcţii specialeCum se formează ierarhia obiectelor din scenă3http://www.info.uaic.ro/~flash
Mulțumesc…Comănescu ȘtefanIonuț Striban… pentru tutorialele video adăugate pe situl nostru: http://flash.info.uaic.ro4http://www.info.uaic.ro/~flash
Setarea clasei principaleÎn AS3 nu avem metoda main ... Totuşi, din proprietăţile proiectului pot seta care clasă poate fi rulată.5http://www.info.uaic.ro/~flash
6http://www.info.uaic.ro/~flash1. Click dreapta > proprietati23
7http://www.info.uaic.ro/~flash4
Constructor8http://www.info.uaic.ro/~flashAstaesteclasa :D
Constructor9http://www.info.uaic.ro/~flashConstructorulesteexecutatprimul…
Constructor10http://www.info.uaic.ro/~flashDacă aplicaţia este “default”, arputeaficonsiderata ca fiindpunctul de plecare al aplicaţiei
Constructor11http://www.info.uaic.ro/~flashUn fel de main din C / C++
ConstructorConstructorulestemetoda care se executa prima…Este executată NUMAI cândestecreatobiectul (şi nu ar trebui să o utilizaţi ulterior)Are mereu acelaşi nume ca şi clasa (care are acelaşinume ca fişierul în care este stocată)Atunci când clasa este “default”, constructoruleste “running point” al aplicatiei12http://www.info.uaic.ro/~flash
ConstructorConstructorul poate avea o serie de parametri dar niciodată nu returnează nimic.Atunci când clasa este cea principală (de la care începe rularea aplicaţiei, constructorul nu are nici un parametru).        Constructorul este MEREU metodă publică.De câţi constructori este nevoie pentru a crea un obiect ? 13http://www.info.uaic.ro/~flash
Constructori..ÎNTREBĂRI PE TEMA CONSTRUCTORILOR ?14http://www.info.uaic.ro/~flash
Getteri / SetteriÎn programarea obiectuală modernă, nu există variabile publice. Așa cum zicea cineva data trecută, unui obiect, în mod normal, nu ar trebui să-i fie schimbate proprietățile fără a fi notificat. [binezis, Cătălin]15http://www.info.uaic.ro/~flash
Getteri / SetteriSă presupunem că avem o mașină… căreia dorim să-i schimbăm o proprietate (culoare).Pentru ca proprietatea să poată fi schimbată de alt obiect (de exemplu obiectul “vopsitor”) ar trebui să fie declarată publică (și de tip String: “roșu”, “alb”, “verde”).Dacă e publicăoricinepoatesă o acceseze (și să o modifice). Am putea avea așadar:masina.culoare = castravete;16http://www.info.uaic.ro/~flashAsta e o legumă !!!
http://www.info.uaic.ro/~flash17
Getteri / SetteriScăpăm de buba dacă am utiliza o variabilă privată care să poată fi modificată doar de o metodă (publică) care ar putea testa dacă este vorba sau nu de o culoare validă.Pentru că nu e chiar frumos să scriem de fiecare dată ceva de genul:masina.schimbaCuloarea(“verde”);…ci ne-ar place maidegrabă:masina.culoare = “verde”;… s-au inventatsetteriișigetterii18http://www.info.uaic.ro/~flash
Getteri / SetteriCeledouăsuntfuncții speciale ce au numele proprietății pe care o substituie (în cazul nostru culoare). Din acestmotiv, nu trebuie să existe o altă proprietate cu același nume (vom denumi proprietatea privată drept “_culoare”.Metoda setter are rolul de a setaculoarea;Metoda getter are rolul de a returnaculoarea.19http://www.info.uaic.ro/~flash
Getteri / SetteriSă zicem că variabila _propeste cea privată (cea care vrem să fie accesată dar prin set/get).Și să mai zicem că proprietatea asta este de tip “tipProp”. Atunci:Setterulpentru_prop trebuie neapărat să primească ca parametru o valoare de acelasi tip ca și _prop (de tip tipProp) și să nu returneze nimic.Getterul nu are parametru și returnează valoarea lui _prop(deci o valoare de tip tipProp)              Get / Set sunt MEREU de tip public !!!20http://www.info.uaic.ro/~flash
Exemplu: Getteri/ Setteri21http://www.info.uaic.ro/~flash
Exemplu: Getteri/ Setteri22http://www.info.uaic.ro/~flashProprietateaprivată – nu poate fi accesată din exterior
Exemplu: Getteri/ Setteri23http://www.info.uaic.ro/~flashProprietateaprivată
Exemplu: Getteri/ Setteri24http://www.info.uaic.ro/~flashAccesibil ca și cum ar fi proprietatea culoareDe tip Stringsetter
Exemplu: Getteri/ Setteri25http://www.info.uaic.ro/~flashAcum în setter putem verifica validitatea culoriiDacă e ok, o memorăm
Exemplu: Getteri/ Setteri26http://www.info.uaic.ro/~flashPentru a prelua culoarea utilizăm getterulCare returnează valoarea
Getteri / SetteriDacă “proprietatea” este apelată în “stânga” se apelează automat setterul:masina.culoare = “alb”;Dacă “proprietatea” este apelată în “dreapta” se apelează automat getterul:trace ( masina.culoare );27http://www.info.uaic.ro/~flash
toString()Atunci când clasa este utilizată într-o operație drept șir de caractere, reprezentarea acestuia ca String se realizează prin apelul (implicit) al metodei toString. Aceasta există în orice obiect fiind moștenită din …..                                  … să vedem cine știe ?!?!28http://www.info.uaic.ro/~flash
toString()Atunci când clasa este utilizată într-o operație drept șir de caractere, reprezentarea acestuia ca String se realizează prin apelul (implicit) al metodei toString. Aceasta există în orice obiect fiind moștenită din ….. Object29http://www.info.uaic.ro/~flash
toString()Dacă nu este suprascrisă, metoda toString() va afișa ceva de genul[object <tipObiect>], undetipObiectestetipulobiectuluice a fostutilizat ca un șir de caractere.Atunci când este suprascrisă (nu necesită nepăratoverride. Metoda toString() trebuie NEAPARAT să fie publică, să returneze un String și NU ARE parametri de intrare.30http://www.info.uaic.ro/~flash
Exemplu toString()31http://www.info.uaic.ro/~flash
PAUZĂ ?32http://www.info.uaic.ro/~flash
Ierarhia de obiecte din scenă33http://www.info.uaic.ro/~flash
Obiecte grafice Obiectele grafice sunt de două tipuri:- scalare sau raster (fiecare pixel este reprezentat în memorie)- vectoriale (numai anumite date importante sunt memorate in memorie, imaginea fiind construită pe baza acestora: pt un cerc: coordonatelecentruluișiraza)34http://www.info.uaic.ro/~flash
Obiecte grafice               Raster                    vs.         Vectorial                 a                                              aa35http://www.info.uaic.ro/~flash
Obiecte grafice E clar că pentru a reprezenta un obiect raster e nevoie de mai multă memorie / spațiu de stocare.Atunci când sunt mărite, obiectele vectoriale arată la fel de bine (nu ca cele raster care devin mozaicuri).Timpul de afișare a unei imagini raster este mult mai mic… procesorul nu trebuie să gândească cum să construiască imaginea.36http://www.info.uaic.ro/~flash
Obiecte grafice Raster – bune pentru: poze (din lumea reală), aplicare de filtre de tip shadow, blur etc., afișarea rapidă a imaginilorVectorial – bune la afișarea unor scheme, a literelor37http://www.info.uaic.ro/~flash
Obiecte grafice Obiectele pe care le vedem într-o aplicație Flash sunt organizat într-o ierarhie (arborescentă).Există o singură rădăcină (root).root-ul este de obicei de tip Sprite (aplicația principală, cea care extinde Sprite) și este adăugat automat scenei de către player-ul Flash în momentul lansării în execuție.38http://www.info.uaic.ro/~flash
Obiecte grafice 39http://www.info.uaic.ro/~flash
Obiecte grafice 40http://www.info.uaic.ro/~flash
AfisateNeafisate41http://www.info.uaic.ro/~flash
addChild() – adaugă la ierarhie42http://www.info.uaic.ro/~flash
AfisateNeafisate43http://www.info.uaic.ro/~flash
Obiecte grafice După crearea în memorie (cu new), obiectul grafic trebuie să fie adăugat în ierarhia de obiecte din scenă.Acest lucru se realizează cu metoda addChild.(addChild e din DisplayObjectContainer)44http://www.info.uaic.ro/~flash
Obiecte grafice 45http://www.info.uaic.ro/~flashPachetul ce conține obiectele de tip grafic (sau care au legătură cu grafica)Deși publică, această clasă nu se poate instanția, ea oferind un cadru de container pentru subclasele sale
Obiecte grafice 46http://www.info.uaic.ro/~flashMoștenește toate porprietățile și metodele din Object
Obiecte grafice 47http://www.info.uaic.ro/~flashSau din EventDispatcher prin intermediul căreia se pot arunca evenimente
Obiecte grafice 48http://www.info.uaic.ro/~flashDisplayObject aduce o serie de proprietăți cum ar fi poziția imaginii sau gradul de transparență
Obiecte grafice 49http://www.info.uaic.ro/~flashÎn Clasa InteractiveObjectsutn definite evenimentele la care containerul poate răspunde (click, keypressed, etc)
Obiecte grafice 50http://www.info.uaic.ro/~flashDisplayObjectContainer oferă posibilitatea adăugării obiectelor grafice sau a altor containere grafice în interiorul său
Obiecte grafice 51http://www.info.uaic.ro/~flashAcestea sunt câteva containere grafice….
Obiecte grafice 52http://www.info.uaic.ro/~flashCel mai important: Stage (containerul principal). Următorul:Sprite (probabil cel  mai utilizat)
Obiecte grafice La începutul prezentării povesteam despre o clasă considerată principală (de la care se pornește execuția aplicației). Această clasă extindea Sprite – deci era și ea de tip Sprite – deci un container.Acest container este containerul principal, în el vom adăuga mereu obiecte – denumit și root.53http://www.info.uaic.ro/~flash
Obiecte grafice root-ul este adăgat automat sceneiDacă un obiect grafic este adăugat ierarhiei de obiecte grafice, el este vizibil, proprietatea root va face referință către containerul principal (root), proprietatea stage va face referire chiar la scena aplicației.Un obiect care nu a fost adăugat ierarhiei are proprietățile de mai sus null.54http://www.info.uaic.ro/~flash
Întrebări ?55http://www.info.uaic.ro/~flash

More Related Content

PPTX
Cercul De Rich Internet Applications Variabile, Functii, Obiecte, Mosteniri
PDF
PPTX
Cercul De Rich Internet Applications Mp3
PDF
2024 Trend Updates: What Really Works In SEO & Content Marketing
Cercul De Rich Internet Applications Variabile, Functii, Obiecte, Mosteniri
Cercul De Rich Internet Applications Mp3
2024 Trend Updates: What Really Works In SEO & Content Marketing
Ad

Cercul De Rich Internet Applications Constructor, Getter,Setter, Display List