Sunteți pe pagina 1din 24

Paradigmele

programrii obiect
Prof. univ. dr. Gheorghe
POPESCU

Care 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
evenimentelor
Dimineaa 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

Care 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
modelate

Ce 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 claseiatribute i metode de

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

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:

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

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

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.

S-ar putea să vă placă și