Documente Academic
Documente Profesional
Documente Cultură
PE OBIECTE
CONCEPTE GENERALE
z Stilul de programare care îl numim în mod obişnuit
programare orientată pe obiecte POO a apărut relativ recent
în istoria limbajelor
j de p
programare.
g
z Acesta este un stil particular şi foarte comod pentru
numeroase situaţii.
z El a fost creat pentru a depăşii limitele programării
structurate bazate în principal pe utilizarea largă a
procedurilor, funcţiilor, a pointerilor sau a tipurilor de date
mai mult sau mai puţin evoluate.
z Programarea structurată foarte practică mai ales pentru
sisteme de programe mici sausa aplicaţii reduse
red se negrafice,
negrafice este
depăşită în ceea ce priveşte aplicaţiile mari cu elemente
grafice unde mult mai indicată este programarea orientată pe
obiecte.
z Programarea orientată pe obiecte utilizează elementele
programării dar se bazează pe orientarea pe obiecte.
CONCEPTE GENERALE
z Orientarea ppe obiecte reprezintă
p organizarea
g de resurse soft
într-o colecţie de obiecte, distincte şi discrete, care înglobează
atât structuri de date cât şi funcţiile de prelucrare ale acestora.
z Această organizare este o extindere a programării tradiţionale,
în care structurile de date şi funcţiile de prelucrare sunt doar
lejer conectate.
z Identificarea obiectelor pentru o aplicaţie dată se face prin
maparea conceptelor de bază vehiculate de aplicaţia
respectivă.
respectivă
z Un obiect se defineşte ca fiind un concept, o abstractizare şi
înţeles precis din punct de vedere al aplicaţiei de rezolvat.
Obiectele permit următoarele avantaje:
z oferă o mai bună înţelegere a problemei de rezolvat;
z oferă un "schelet" de pornire pentru implementare.
z O clasă de obiecte grupează un număr oarecare de obiecte cu
proprietăţi similare.
similare Această similitudine se referă atât la
descriere (date sau atribute), cât şi la comportare (funcţii sau
metode), dar în acelaşi timp şi la relaţiile posibile cu alte
obiecte.
CONCEPTE GENERALE
z Diferenţele dintre obiectele de aceeaşi clasă se materializează în
diferenţe între valorile datelor de descriere.
z Totodată, pentru fiecare obiect este specificat tipul clasei din
care provine. Clasa este elementul de programare care ne
permite transcrierea cât mai bună a unui concept din viaţa
concretă într-un
într un limbaj de programare.
programare Ea permite definirea atât a
datelor relativ la o entitate cât şi a acţiunilor asociate (funcţii sau
metode).
z Implementare software a unui concept cum ar fi un sistem de
calcul se poate printr-o clasă. Această clasă va fi caracterizată de
anumite date (atribute) şi anumite acţiuni (metode, funcţii).
Această clasă va conţine numai elementele caracteristice, putând
definii pe baza ei şi concepte particulare cum ar fi laptop şi PDA.
PDA
Reprezentarea acestor clase este dată în figura 1.
z Atributele reprezintă caracteristici unice în cadrul unei clase de
obiecte. La nivel de obiect fiecare atribut primeşte o anumită
valoare care se poate modifica pe parcursul duratei de viaţă a
obiectului respectiv. Două sau mai multe obiecte pot avea valori
identice sau valori diferite pentru un acelaşi atribut.
CONCEPTE GENERALE
CONCEPTE GENERALE
z Metodele sau operaţiile sunt funcţii de prelucrare care se aplică
obiectelor de o anumită clasă. Toate obiectele unei clase admit
acelaşi set de metode, metode care la rândul lor pot să
primească un număr oarecare de p
p parametri suplimentari.
p
Identificarea unei metode se face atât prin nume, cât şi prin
semnătură.
z Pentru ca unui obiect să i se poată aplica metode - funcţii de
prelucrare - acel obiect trebuie să fie creat (definit). Definirea
unui obiect poartă numele de instanţiere. După ce un obiect şi-a
îndeplinit misiunea el este eliminat. Durata de viaţă a obiectelor
depinde de la obiect la obiect şi de la aplicaţie la aplicaţie.
aplicaţie
Ab t
Abstractizare
ti şii modelare
d l
z In orice domeniu de activitate umană, abordarea unui proiect porneşte
de la construirea unui model cu scopul unei mai bune înţelegeri a
problemei de rezolvat.
rezolvat
z Prin abstractizare se izolează aspectele esenţiale de cele neesenţiale,
bineînţeles în funcţie de perspectiva de abordare a problemei de
rezolvat.
z În consecinţă,
consecinţă pentru o aceeaşi problemă, problemă pot exista mai multe
abstractizări, deci mai multe modele. Nu putem vorbi de modele corecte
şi modele incorecte, ci de modele adecvate şi modele inadecvate.
z Prin esenţă, o abstractizare este o reprezentare incompletă a realităţii şi
tocmai aceasta dă valoare modelului corespunzător.
corespunzător
z La fel ca şi în abordarea structurată, în abordarea orientată pe obiecte,
procesul dezvoltării unei resurse soft, porneşte de la un model.
z Aceasta este o abstractizare menită a face posibilă etapa următoare de
implementare În domeniul ingineriei soft,
implementare. soft programarea structurată a
făcut un mare pas înainte introducând necesitatea abordării unei
aplicaţii din trei perspective diferite, rezultând astfel trei modele diferite.
În abordare structurată, cele trei modele, pe care le numim şi sub-
modele sunt:
z modelul static;
z modelul dinamic;
z modelul funcţional.
Ab t
Abstractizare
ti şii modelare
d l
z În modelarea orientată pe obiecte apar două modificări esenţiale:
z modelul care captează aspectele statice ale aplicaţiei devine
modelul obiectual
z accentul cade pe acest model şi nu pe cel funcţional.
z Î multe aplicaţii mai simple modelele dinamic şi funcţional se
În
construiesc în primul rând pentru o mai bună înţelegere a
modelului obiectual.
Modelul obiectual
z Pune în evidenţă aspectele statice ale aplicaţiei, dar nu prin
identificarea unor sub-ansamble, mai mult sau mai puţin arbitrare,
ci prin identificarea conceptelor cu care operează aplicaţia.
z Acestor concepte li se asociază obiecte, iar modelul obiectual
conţine o sinteză a acestor obiecte, a relaţiilor dintre ele, precum
şi a proprietăţilor lor.
z Construirea unui sistem în jurul obiectelor cu care operează,
operează
surprinde mult mai bine realitatea decât o abordare care porneşte
de Ia aspecte funcţionale.
Ab t
Abstractizare
ti şii modelare
d l
Modelul dinamic
z Sugerează succesiunea în timp a creării obiectelor, pe măsura
necesităţii existenţei lor, precum şi distrugerea acestora după ce şi-au
îndeplinit misiunea.
z Crearea unui obiect mai poartă şi numele de instanţiere.
z Pentru obiectele implementate Ia nivelul unui nucleu, deciziile de
instanţiere şi distrugere se iau la nivelul clientului acelui nucleu.
Totodată, modelul dinamic indică ordinea de invocare a a metodelor,
pentru fiecare obiect instanţiat.
instanţiat
Modelul funcţional
z Descrie aspectele comportamentale ale obiectelor, indiferent de
ordinea
di d instanţiere
de i t ţi a obiectelor
bi t l şii indiferent
i dif t de
d ordinea
di d invocare
de i a
acestor aspecte.
z Fiecărui aspect comportamental îi corespunde o funcţie, numită şi
metodă. Modelul funcţional, descrie funcţionarea în mare a acestor
metode,
t d rezumându-se
â d l ilustrarea
la il t relaţiilor
l ţiil între
î t parametrii
t ii de
d intrare
i t
şi valorile de ieşire ale fiecărei metode în parte, fără însă a oferi detalii
legate de implementarea algoritmilor corespunzători.
Metodologii orientate pe
obiecte
bi t
z Există la ora actuală mai multe metodologiig orientate p pe obiecte ppentru
analiza, proiectarea şi implementarea de resurse soft.
z Una din metodologii este OMT - Object Modeling Technique .
z Aceasta presupune o etapizare a etapelor de dezvoltare, precum şi un
sistem grafic de reprezentare a obiectelor şi a relaţiilor dintre acestea.
acestea
z Metodologia OMT se bazează pe construirea unui model tridimensional
al aplicaţiei, pe baza căruia se adaugă gradat detaliile de implementare
în ultima fază a procesului de dezvoltare.
z În mare,
mare metodologia OMT este ilustrată în figura 2. 2