PROGRAMARE ORIENTATA OBIECT - Object Oriented Programming ( OOP )
Programarea orientata obiect este un concept remarcabil - chiar daca in realitate nu este foarte "modern" , el aparand ideatic inca din anii '70 ! Ideea centrala este destul de simpla si clara : organizati programele intr-un mod care sa oglindeasca modul cum sunt organizate obiectele din lumea reala .
In mod normal prezentarea urmatoare ar trebui privita doar ca o recapitulare a principiilor OOP studiate deja in cadrul limbajului C++ .
Un program este privit in general ca o lista de instructiuni care ii spun calculatorului ce are de facut . Un program este considerat de OOP drept un set de obiecte care lucreaza impreuna cu scopul de a indeplini o sarcina .
Ca exemplu sa luam un model practic extrem de intalnit in aceste zile - construirea unui PC din diferite componente separate ( placa de baa , placa video , procesor , etc. ) . Intern , fiecare dintre aceste componente poate fi extrem de complicata si complexa dar cel ce asambleaza intregul nu are nevoie sa stie exact detaliile de functionare interna a fiecarei componente ci doar cateva date foarte concrete :
- se vor potrivi aceste componente la nivel fizic ?
- vor putea lucra impreuna din punct de vedere functional aceste componente ?
Odata cunoscute interactiunile dintre componente realizarea sistemului final va fi destul de simpla .
Programarea orientata obiect se muleaza perfect pe exemplul anterior ; programul nostru fiunal se compune din mai multe componente - obiecte care trebuie sa interactioneze cu succes .
Un obiect este un element independent al unui program , care reprezinta un set de caracteristici corelate si este proiectat pentru a realiza anumite sarcini . Obiectele mai sunt numite si instante .
OBIECTE SI CLASE
O clasa este un model ( sablon ) folosit pentru a crea mai multe obiecte cu aceeasi caracteristici .
Clasele inglobeaza toate caracteristicile unui anumit set de obiecte . Atunci cand scriem un program intr-un limbaj OOP nu definim obiecte ci classe de obiecte .
Clasele sunt folosite pentru a crea obiecte cu care vom lucra apoi direct in program .
Cand scriem un program in Java proiectam si construim un set de clase . Atunci cand programul ruleaza din aceste clase sunt create obiecte si apoi acestea sunt folosite . Sarcina programatorului Java este de a crea seturile corecte de clase pentru ca programul sa se comporte corespunzator .
In practica nici macar nu trebuie pornit de la zero cu constructia claselor . Fiecare versiune de Java contine un grup de clase care implementeaza caracteristicile de baza de care au in general nevoie programatorii . Aceste grupe de clase se numesc biblioteci .
O biblioteca de clase este un grup de clase proiectate pentru a fi folosite impreuna cu alte programe . Biblioteca de clase Java standard contine mai multe zeci de clase ( depinzand exact de versiunea limbajului ) .
Biblioteca standard Java se ocupa de mai multe sarcini uzuale , cum ar fi functii matematice , lucru cu text , imagini , sunet interactiune cu utilizatorul si lucru in retea . In multe cazuri bibliotecile Java sunt de ajuns pentru un program de nivel scazut . In acest caz programatorul are ca sarcina doar crearea unei singure clase , folosite pentru a crea obiecte pronind de la clasele Java standard si pentru a administra interactiunile dintre acestea .
Odata cu avansarea in programarea Java se poate crea un set complet nou de clase care sa aiba definite anumite interactiuni intre ele ; acestea pot fi folosite pentru a se alcatui eventual o biblioteca proprie de clase care poate fi reutilizata mai tarziu in alte programe . Aceasta capacitate de reutilizare este unul dintre avantajele majore ale programarii orientate obiect .