paradigmele programarii obiect

Upload: ramona-tudor

Post on 08-Mar-2016

244 views

Category:

Documents


0 download

TRANSCRIPT

Paradigmele programrii obiect

Paradigmele programrii obiectProf. univ. dr. Gheorghe POPESCUCare sunt paradigmele (conceptele de baz) ale programrii orientate pe obiecte? (1)obiectul;abstractizarea;clasa;

Care sunt paradigmele (conceptele de baz) ale programrii orientate pe obiecte? (2)ncapsularea;motenirea;polimorfismul;persistena.

Ce este obiectul i ce modeleaz el?este o entitate (concret) cu identitate proprie, caracterizat prin stare i comportament; anticipnd: este o instan a unei clase;modeleaz o entitate din lumea real sau imaginar, definit de un set propriu i unic de caracteristici;obiectele reprezint tot ceea ce ne nconjoar: lucruri, fiine, procese, fenomene, etc.

Lumea obiectelor i evenimentelorDimineaa apsai soneria ceasului detepttor, deschidei frigiderul i destupai o sticl de suc de portocale. Ceva mai trziu, deschidei portiera mainii, nvrtii cheia n contact, pornii motorul i apoi apsai pedala de acceleraie. Rareori v ntrebai cum funcioneaz ceasul detepttor, cum rcete frigiderul alimentele sau cum se transform n mod miraculos benzina n cai putere. Nimic nu vi se pare mai natural sau mai transparent dect relaia dintre obiecte i evenimentele pe care le generai atunci cnd interacionai cu ele. Un program scris pentru a fi rulat sub o Interfa Grafic Utilizator (Graphical User Interface - GUI), cum este mediul Microsoft Windows trebuie s fie la fel de firesc i de natural n utilizareCare sunt caracteristicile unui obiect?Identitatea;Starea (valoare proprieti);Comportamentul (metode). Care este modelul de reprezentare al unui obiect n memorie?

Ce este abstractizarea?procesul prin care se identific i se rein numai caracteristicile eseniale ale realitii modelateCe este o clas ?schia (modelul) unui obiect;Clasa spune mainii virtuale cum s construiasc un obiect de tipul respectiv.

Care este structura unei clase?denumire;atribute (date);metode (operaii).Atributele i metodele se mai numesc i membri clasei. Atributele vor servi drept depozite pentru datele concrete deinute de obiectele clasei, iar metodele vor fi partajate de toate instanele clasei.

Reprezentarea claselor

Ce pot viza membrii unei clase?clasa n ansamblul ei (se aplic ntregului grup de obiecte) atribute i metode de clas sau statice (shared);fiecare obiect al clasei-atribute i metode de instan.Care sunt metodele obligatorii de implementat?constructori;destructori;modificatori;selectori.

Cte tipuri de clase pot exista?clase abstracte - clase instaniabile sau concrete;clas de baz (printe, superclas) clas secundar (copil, derivat, subclas).Ce reprezint ncapsularea? capacitatea obiectelor (claselor) de a conine la un loc att date, ct i prelucrri, dintre care numai o parte sunt vizibile din exterior n mod controlat. Ce impune principiul ncapsulrii? impune ca toate atributele de instan ale unei clase s fie invizibile din exteriorul acesteia, accesarea lor fiind posibil numai prin intermediul unei metode dedicate sau proprieti care formeaz interfaa clasei.Care sunt avantajele ncapsulrii?datele nu mai sunt separate de prelucrri;obiectele apar ca nite cutii negre care ascund detaliile de implementare;se asigur securitatea datelor stocate de un obiect mpotriva modificrilor neautorizate sau accidentale;obiectele sunt uor de utilizat prin intermediul interfeei care descrie ce poate realiza o clas (NU cum).

Care sunt calificatorii pentru protecia membrilor unei clase?public;protected;friend;private;protected friend.Ce este motenirea?procesul prin care atributele i operaiile unei clase (clas de baz, superclas) sunt preluate automat de o alt clas (clas derivat sau subclas);prin motenire se pot exprima relaii deosebite ntre clase: clasificri, ierarhizri, generalizri, specializri.Care sunt etapele i raionamentele necesare implementrii motenirii (1)Identificm obiectele cu care trebuie s lucrm;Cutm obiectele care au atribute i comportamente comune;Proiectm o clas care reprezint starea i comportamentul pe care l au n comun toate obiectele identificate;Care sunt etapele i raionamentele necesare implementrii motenirii (2)Identificm alte posibiliti de folosire a abstractizrii, cutnd dou sau mai multe subclase care ar putea avea un comportament comun;Completm ierarhia de clase.Ce reprezint polimorfismul?capacitatea obiectelor de a se comporta diferit la primirea aceluiai mesaj (adic obiecte diferite conin aceleai operaii, care ns vor executa aciuni diferite exemple: apeleaz un numr, schimb viteza)Cum poate fi asigurat polimorfismul?suprancrcarea unei operaii (n cadrul aceleiai clase): utilizarea unei metode cu acelai nume, dar cu un numr diferit de parametri;rescrierea unei operaii (ntr-o clas derivat): metoda rescris are acelai nume, acelai numr de parametrii dar execut alt prelucrare.Ce descrie persistena?durata de via a unui obiect n raport cu aplicaia care l-a creat;un obiect se consider persistent, dac starea i comportamentul su sunt conservate ntre dou execuii ale programului ce l-a generat.