|
Programarea orientata-obiect
În programarea orientat?-obiect un sistem informatic este privit ca un model fizic de simulare a comportamentului unei p?r?i din lumea real? sau conceptual?. Acest model fizic este definit prin intermediul unui limbaj de programare ?i el se concretizeaz? într-o aplica?ie ce poate fi executat? pe un sistem de calcul.
Obiectele sunt elemente cheie ale program?rii orientate-obiect ?i ele reprezint? entit??i individuale reale sau abstracte cu un rol bine definit în contextul unui sistem. Un obiect are o identitate, o stare ?i un comportament. Tot ceea ce obiectele cunosc (starea) ?i pot efectua (comportamentul) este exprimat prin intermediul unor mul?imi de propriet??i (sau atribute) ?i opera?ii (sau metode). Astfel, starea unui obiect este dat? de valorile propriet??ilor acestuia la un moment dat. Opera?iile sunt proceduri sau func?ii care permit modificarea acestor valori ?i implementeaz? comportamentul obiectelor.
Aplica?iile orientate-obiect sunt compuse dintr-o mul?ime de obiecte care interac?ioneaz? ?i comunic? între ele prin intermediul mesajelor. Un mesaj reprezint? o cerere adresat? unui obiect de a executa o anumit? opera?ie. Mesajul este compus din trei elemente distincte: identitatea obiectului c?ruia îi este adresat mesajul, numele opera?iei care se dore?te a fi executat? ?i o list? de parametri necesari execut?rii opera?iei. Aceste trei informa?ii sunt suficiente pentru ca un obiect care recep?ioneaz? un mesaj s? poat? executa opera?ia dorit?. Mecanismul transmisiei de mesaje permite prin urmare comunicarea între obiecte aflate în contexte (sau procese) diferite sau pe diferite sisteme de calcul.
Mul?imea de propriet??i ale unui obiect formeaz? nucleul acestuia. O parte din opera?iile sale sunt vizibile în exterior ?i ascund nucleul de celelalte obiecte dintr-un sistem. Ascunderea propriet??ilor interne ale unui obiect ?i "oferirea" de opera?ii care s? le manipuleze poart? numele de încapsulare. Încapsularea este utilizat? pentru a ascunde detalii de implementare de alte obiecte aflate în sistem. Astfel poate fi modificat? implementarea unui obiect f?r? a afecta alte p?r?i ale sistemului din care acesta face parte. Încapsularea confer? modularitate, implementarea unui obiect putând fi modificat? sau actualizat? independent de implementarea celorlalte obiecte din sistem. Mul?imea tuturor opera?iilor unui obiect care sunt vizibile în exteriorul acestuia poart? numele de interfa?? a obiectului.
Interfe?ele obiectelor definesc tipul acestora. Obiectele care au aceea?i interfa?? apar?in aceluia?i tip. Deoarece interfa?a este o submul?ime a opera?iilor care definesc comportamentul obiectelor, ea mai poart? numele de comportament extern observabil.
Identificarea unei mul?imi de obiecte care au propriet??i ?i comportamente comune poart? numele de clasificare. Clasa este un alt concept de baz? al program?rii orientate-obiect, ?i ea reprezint? o abstractizarea a elementelor (propriet??ilor ?i opera?iilor) comune partajate de o mul?ime de obiecte ?i descrie implementarea acestora.
Obiectele sunt reprezent?ri concrete ale claselor, iar procesul de creare a unui obiect pe baza defini?iei unei clase poart? numele de instan?iere.
Al?turi de no?iunile de obiect ?i clas?, programarea orientat?-obiect introduce un mecanism puternic ?i natural de organizare ?i structurare a sistemelor informatice: mecanismul de mo?tenire. Mo?tenirea permite definirea de noi clase (numite sub-clase) pe baza unor clase deja existente (super-clase) într-o manier? incremental?. Sub-clasele vor mo?teni toate propriet??ile ?i opera?iile super-claselor. Rela?ia de mo?tenire între clase induce organizarea claselor în ierarhii.
Componentele mediului de programare Visual C++
- editor de cod ?i un gestionar de proiecte interactive. Un proiect reprezint? o colec?ie de fi?iere surs? legate între ele care sunt compilate ?i link-editate pentru a forma un program executabil. De obicei, fi?ierele surs? ale unui proiect se afl? pe disc într-un director separat. Un proiect depinde de mai multe fi?iere care nu se afl? în directorul acestuia ?i care fac parte dintr-o bibliotec? de fi?iere. Leg?turile dintre fi?ierele surs? precum ?i leg?turile cu alte fi?iere sunt re?inute într-un fi?ier special. Acest fi?ier în versiunile de Visual C++ mai mici de 4.0 are extensia .mak, iar cele din versiunile 4.0 au extensia .mdp (bineîn?eles, din motive de compatibilitate, acestea din urm? accept? ?i fi?iere de proiect cu extensia .mak). Versiunile ulterioare ale mediului permit lucru cu mai multe proiecte in acelasi timp, folosind fisiere de descriere a mediului de lucru (workspace - au extensia .dsw) si a fiecarui proiect in parte (fisiere cu extensia .dsp).
|