0% au considerat acest document util (0 voturi)
36 vizualizări5 pagini

Programare Pe Obiecte

Documentul prezintă principiile de bază ale programării orientate pe obiecte, inclusiv clase, obiecte, abstracție, încapsulare și moștenire. De asemenea, explică cum limbajele de programare orientate pe obiecte, precum Java, au popularizat și stabilit standarde în acest domeniu.

Încărcat de

Uunicc
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)
36 vizualizări5 pagini

Programare Pe Obiecte

Documentul prezintă principiile de bază ale programării orientate pe obiecte, inclusiv clase, obiecte, abstracție, încapsulare și moștenire. De asemenea, explică cum limbajele de programare orientate pe obiecte, precum Java, au popularizat și stabilit standarde în acest domeniu.

Încărcat de

Uunicc
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/ 5

Cum vă poate schimba cariera

programarea orientată pe obiecte


Așa cum îi spune și numele, programarea orientată pe obiecte se bazează pe conceptul
obiectelor. Este vorba despre o abordare care permite rezolvarea problemelor prin
cooperarea reciprocă a obiectelor în cadrul programului.

Programarea orientată pe obiecte se bazează pe ideea că acestea trebuie organizate la fel


cum sunt organizate și în realitate. În realitate, obiectele sunt compuse din alte obiecte mai
mici. Acest concept a fost dezvoltat în anul 1950, cu accent pe obiectele care conțin stare și
comportament. Acesta este contrar programării procedurale, în care executarea logicii
programului se realizează prin algoritmi funcționali care implementează părți individuale
ale sistemului.

Un reper important în programarea orientată pe obiecte l-a constituit dezvoltarea


limbajului de programare Java în anul 1995. Se va dovedi că Java va stabili standarde în
acest domeniu și va iniția dezvoltarea în continuare a programării orientate pe obiecte și
web-ului și a instrumentelor de dezvoltare, iar prin acest lucru va influența dezvoltarea
internetului. Acest limbaj, deși similar cu C++, a oferit noi posibilități în contextul
îmbunătățirii programării orientate pe obiecte.

Java este și astăzi unul dintre cele mai utilizate limbaje de programare orientate pe obiecte.
Datorită implementării sale ample, Java a făcut ca programarea orientată pe obiecte să fie
indispensabilă dezvoltării software. Pe lângă asta, putem menționa și: C#, PHP, JavaScript,
Ruby etc.

Ce este programarea orientată pe obiecte?


Programarea orientată pe obiecte este una dintre paradigmele de programare care
determină stilul de programare. Această formă de programare se ocupă de lucrul cu
obiectele. Este vorba despre elementele programului care au propria lor stare și propriul
comportament, adică fiecare dintre obiecte are anumite proprietăți care îl definesc. Acest
lucru înseamnă practic că elementele programului se reprezintă prin obiecte, iar programul
se realizează prin schimbarea stării obiectelor.

Atunci când se programează în unul dintre limbajele orientate pe obiecte, accentul se pune
pe clase. Este vorba despre definirea atributului unui obiect și a comportamentului său în
raport cu stările în care se află. De fiecare dată când doriți să creați un obiect, programul va
privi mai întâi clasa.
După aceea, se va crea obiectul conform regulilor care sunt definite în clasa respectivă.
Acest lucru înseamnă că obiectul este practic o instanță individuală a unei clase. În acest
mod puteți crea mai multe obiecte diferite de același tip cu aceleași valori sau valori diferite
ale atributului pe care îl au.

În acest mod de programare, proiectul se descompune în unități logice mai mici. Obiectele
sau clasele au caracteristicile și funcțiile lor specifice. Faptul că aceste entități se separă nu
înseamnă că nu comunică între ele. La această abordare a programării, accentul se pune
pe problema care trebuie rezolvată. În acest caz ne concentrăm pe părțile sistemului care
au anumite sarcini.

Unul dintre principalele avantaje ale acestei abordări a programării este că permite
programatorilor să creeze astfel module care nu trebuie să se schimbe atunci când se
adaugă un nou tip de obiect. Programatorul în acest caz creează un obiect nou care
moștenește proprietățile obiectului existent. De aceea, programele orientate pe obiecte se
modifică ușor.

Deși nu toate limbajele de programare sunt orientate pe obiecte, datorită popularității și


acestei abordări, mulți au adoptat aceste principii.

Bazele programării orientate pe obiecte


Pentru a înțelege mai bine întregul proces, trebuie să cunoaștem principiile de bază ale
acestui proces. Programarea orientată pe obiecte (POO) se bazează pe clase și obiecte.
Acest lucru înseamnă că există posibilitatea ca un program, adică o soluție software să fie
un set de obiecte care sunt definite prin clase.

Clasa

Clasa în programarea orientată pe obiecte conține câmpuri cu descrierea informațiilor și a


funcționalității (metodei). Câmpurile definesc proprietățile obiectelor. Aceste proprietăți se
schimbă în timpul execuției programului, modificându-se astfel și starea internă completă a
obiectului.

Funcționalitățile reprezintă seturi de comenzi care influențează câmpurile pentru a


schimba starea internă a obiectelor.

Din cele menționate concluzionăm că respectiva clasă are atribute și execută anumite
operații asupra lor. Conceptul de clasă este mai ușor de înțeles printr-un exemplu concret.
Dacă, de exemplu, clasa curs de IT este o descriere, va avea informații despre acest lucru.
Acestea sunt date referitoare la o clasă concretă, în acest curs de IT (de ex. Durata, numărul
de ore, prfesor...). Dacă schimbăm cursul, se vor modifica datele în descriere (o durată mai
lungă, un număr mai mare de ore, alt profesor...). În acest mod, clasa definește un model
pe baza căruia se creează un anumit obiect.

În anumite limbaje de programare orientate pe obiecte există diferențe, astfel JavaScript,


spre deosebire de Java și C #, nu utilizează clase în forma tradițională.

Obiectul

Un obiect reprezintă un exemplu individual al unei clase care are toate proprietățile și
comportamentele pe care acea clasă le definește. Fiecare obiect are propriile sale
caracteristici definite de către clasă. Pe baza datelor definite, este posibil să se creeze un
număr infinit de obiecte.

Trebuie menționat că aici nu vorbim despre copii identice. Fiecare obiect are propria
identitate, în conformitate cu principiile stabilite de clasă.

Obiectele astfel create sunt independente unul de celălalt. Dacă în cazul nostru, cursul IT
este o clasă, obiectele pot fi cursul Advanced JavaScript Programming, cursul HTML & CSS
Fundamentals etc. Deci, în acest exemplu este vorba despre cursuri de IT care au aceleași
principii, dar date diferite.

Abstracția

Abstracția presupune simplificarea caracteristicilor unei clase pentru a sublinia


proprietățile importante și a le ignora pe cele mai puțin importante (definite de la caz la
caz).

La abstracție se neglijează anumite detalii și se ține seama, în primul rând, de


caracteristicile comune ale unei clase, în funcție de nevoia programului dat. În acest mod se
aleg proprietățile prin care clasa definește un anumit obiect.

Dacă obiectul este un televizor, într-un anumit caz poate fi suficient să se indice diagonala,
de exemplu, 102 cm. Pe de altă parte, dacă trebuie prezentat în detaliu un anumit
dispozitiv TV, trebuie menționate rezoluția ecranului, materialul din care este realizat,
numărul de intrări HDMI...
Încapsularea

Încapsularea sau închiderea reprezintă unul dintre conceptele de bază ale orientării pe
obiecte. Este vorba despre un proces în care informația despre o clasă este protejată de
accesul direct. În acest caz, singura modalitate de acces este prin metodele definite. În
acest mod se ascund detaliile, iar utilizatorul știe doar ce poate face cu un anumit obiect.

Asta înseamnă că, de exemplu, putem tipări ceva cu un singur clic pe buton, dar fără să
știm exact ce se întâmplă când are loc acest lucru. Acest mod de programare se numește
„cutia neagră”, deoarece știm cum să activăm ceva, dar nu știm în detaliu cum se
desfășoară procesul. În acest mod se reduce șansa de a ajunge la o eroare, deoarece pur și
simplu nu există o abordare mai detaliată. Acest proces se realizează împărțind membrii
clasei în publici și privați.

Membrii publici se folosesc în orice parte a programului, în timp ce membrii privați pot fi
accesați doar în cadrul unei clase definite. Astfel, membrii clasei private se schimbă într-un
mod clar definit. În acest mod se creează o anumită protecție care protejează acești
membri. Totuși, trebuie știut că indiferent de protecție, toți membrii din cadrul corpului
clasei sunt accesibili reciproc.

Moștenirea

Moștenirea implică identificarea proprietăților comune ale diferitelor clase și facilitează


foarte mult programarea, deoarece pierdem nevoia de a scrie aceleași atribute de mai
multe ori. Acest proces permite unei clase să moștenească caracteristicile altei clase.

Acesta este un concept prin care se poate defini ierarhia de clasă, ceea ce înseamnă că
obiectele sunt definite doar de caracteristici unice. Astfel se definește clar în ce mod se
poate realiza un nou obiect. Clasa derivată este o subclasă (urmaș), iar cea mai generală
este o supraclasa (strămoș). În acest mod se creează o linie ierarhică de moștenire.

Polimorfismul

Polimorfismul permite clasei de bază să definească funcții care vor fi comune pentru toate
clasele derivate, cu mențiunea că acele clase derivate pot implementa în felul lor
respectivele funcții. Aceasta înseamnă că obiectele de un anumit tip se pot vizualiza ca
obiecte de tip de bază. Însă, comportamentul polimorfic al apelului permite ca obiectul
derivat să-și exprime diversitatea.

Este important de știut că clasa de bază și cele derivate formează o ierarhie care trece de la
o generalizare mai restrânsă la una mai largă. În acest caz, clasa de bază are tot ceea ce pot
utiliza clasele derivate. Astfel, clasele derivate au posibilitatea de a implementa
independent funcții.

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