0% au considerat acest document util (0 voturi)
189 vizualizări4 pagini

Ce Este OOP (Object Oriented Programming)

Acest document explică conceptele de bază ale programării orientate pe obiecte (OOP), cum ar fi clasele, obiectele, incapsularea și beneficiile OOP precum modularitatea, securitatea ridicată a codului și reutilizarea codului.

Încărcat de

CrăciunOvidiu
Drepturi de autor
© © All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOCX, PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
189 vizualizări4 pagini

Ce Este OOP (Object Oriented Programming)

Acest document explică conceptele de bază ale programării orientate pe obiecte (OOP), cum ar fi clasele, obiectele, incapsularea și beneficiile OOP precum modularitatea, securitatea ridicată a codului și reutilizarea codului.

Încărcat de

CrăciunOvidiu
Drepturi de autor
© © All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOCX, PDF, TXT sau citiți online pe Scribd
Sunteți pe pagina 1/ 4

5. Ce este OOP (Object Oriented Programming)?

Concepte teoretice despre POO

POO - Programare Orientata pe Obiecte -
(sau OOP - Object Oriented Programming) este o paradigma de
programare care foloseste concepte abstracte (sub forma de clase si
obiecte) pentru a crea modele bazate pe elemente din lumea reala. O
aplicatie construita pe POO foloseste mai multe obiecte care comunica
prin mesaje specifice pentru a rezolva diverse servicii (ale aplicatiei)
solicitate. Aceste obiecte sunt capabile sa trimita mesaje (date), sa
primeasca mesaje (date) si sa proceseze date. Scopul programarii
orientate pe obiecte este de a incerca sa creasca flexibilitatea si
mentenabilitatea programelor. Deoarece programele create folosind o
un limbaj orientat pe obiecte (cum este Java) sunt modulare, ele pot fi mai
usor de dezvoltat si mai usor de inteles dupa dezvoltare.

OOP vs. Programare Procedurala

Programele sunt alcatuite din module. Aceste module pot fi programe de


sine statatoare (independente) care  pot fi dezvoltate (codate) si testate
separat fata de programul initial (ulterior acestea - mai multe module -
putand fi asamblate pentru a forma un program complet). In limbajele de
programare procedulare (cum ar fi C si Pascal) aceste module sunt defapt
proceduri, adica o secventa de instructiuni.
In limbajul C, procedurile sunt functii care au un set clar de instructiuni
(de tipul if, for, while etc.) cu scopul de a intoarce (sau nu) un rezultat (al
acelei functii).

In programarea procedurala se ia problema (care se doreste a fi


rezolvata) si sparge in mai multe bucati (sub proceduri). Astfel sub
procedurile rezolva bucati mai mici din problema initiala. Lucrurile
continua asa pana cand problemele secundare (bucatile mai mici) sunt
suficient de simple pentru a fi rezolvate de sub procedura
corespunzatoare ei.

Dificultatatea cu acest tip de programare consta in faptul ca intretinerea


software-ului poate fi dificila si consumatoare de timp. Atunci cand se
efectueaza modificari ale procedurii principale, aceste modificari pot intra
in cascada, iar schimbarea poate avea un impact major asupra tuturor
procedurilor din programul initial.

O alternativa la programarea procedurala este programarea orientata


obiect. Scopul POO este cel de a rezolva dificultatile legate de
programarea procedurala. In POO, principalele module dintr-un program
sunt clase, mai degraba decat proceduri. POO ne permite sa ne cream
clase si obiecte care modeleaza elementele din lumea reala.

Clase si Obiecte
O clasa este o colectie de obiecte care au proprietati, operatii si
comportamente comune. O clasa este o combinatie de stari (date) si
comportament (metode). In POO, o clasa este un tip de
date, iar obiectele sunt instante ale acestui tip de date.
De exemplu, putem crea o clasa Om(), care este o  colectie a tuturor
oamenilor din lume. Oamenii au un statut, cum ar fi inaltimea, greutatea,
sexul, culoarea parului etc.. Ei au, de asemenea, un anumit
comportament, o anumita limba pe care o vorbesc, o mancare preferata.
Toata aceste caracteristici despre oameni sunt incapsulate (continute) in
clasa Om().

Un obiect este o instanta a unei clase. Obiectele sunt unitati de


abstractizare. Un obiect poate comunica cu alte obiecte folosind mesaje.
Un obiect transmite un mesaj unui alt obiect, ceea ce duce la invocarea
unei metode. Obiectele efectueaza apoi actiunile necesare pentru a
obtine un raspuns de la sistem.

Obiectele din lumea reala au 2 caracteristici in comun: toate au o stare si


un comportatment. Un metoda de a gandi intr-un mod orientat pe
obiecte este de a identifica starea si comportamentul obiectelor din
lumea reala. Complexitatea acestor obiecte poate sa difere, unele obiecte
au mai multe stari si comportamente mai complexe decat alte obiecte.
Compara starea si comportamentul unui TV cu starile si
comportamentele unei masini, sunt total diferite.

Obiectele unei clase, dpvd conceptual, sunt similare cu obiectele din


lumea reala. Un obiect isi stocheaza starea in
campuri (aka. Variabile ale clasei) si isi expune comportamentele prin
metodele sale (aka. Functiile clasei). Vom vedea in cele ce urmeaza mai
multe detalii (si exemple) despre acestea.

Un principiu fundamental al POO este incapsularea. Ascunderea unei


stari interne a obiectelor si necesitatea ca toate interactiunile sa fie
efectuate utilizand metodele obiectelor. Cu alte cuvinte, campurile unei
clase nu vor putea fi accesate (si modificate) in mod direct, ele ne fiind
vizibile (pentru ca sunt private), dar modificarile vor putea fi facute prin
intermediul metodelor.

Beneficiile POO
Iata un sumar al beneficiilor cu care vine Programare Orientata pe
Obiecte:

1. Modularitatea: codul sursa pentru o clasa poate fi scris si mentinut


independent de codul sursa pentru alte clase. Odata creat, un obiect
poate fi usor transferat in interiorul sistemului.

2. Securitate ridicata la nivel de cod: Interactionand doar cu metodele


obiectului, detaliile implementarii interne raman ascunse de lumea
exterioara.

3. Reutilizarea codului: daca o clasa exista deja, puteti utiliza in


programul dvs. obiecte din acea clasa. Acest lucru permite
programatorilor sa implementeze / testa / depana obiecte complexe,
specifice pentru sarcini, pe care apoi le puteti folosi in propriul cod.

4. Debugging mai usor: Daca un anumit obiect se dovedeste a fi o


problema, il puteti elimina din program si puteti adauga/conecta, ca
inlocuitor, un obiect diferit. Acest lucru este similar cu rezolvarea
problemelor mecanice in lumea reala. Daca un surub se rupe, il inlocuiti
pe el, nu intreaga masina.

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