Documente Academic
Documente Profesional
Documente Cultură
Programarea Orientată Obiect (POO) este o metodă de Abstractizarea este procesul de grupare a datelor şi
proiectare și implementare în care programele sunt metodelor de prelucrare specifice rezolvării unei
reprezentate sub forma unor colecții de obiecte (clase) care
probleme.
interacționează între ele prin intermediul mesajelor.
Limbaje de programare orientate obiect: Abstractizarea:
C++ exprimă toate caracteristicile esențiale ale unui obiect care
C# fac ca acesta să se distingă de alte obiecte;
Java oferă o definire precisă a granițelor conceptuale ale
… obiectelor din perspectiva unui privitor extern.
Introducere în Programarea Orientată Obiect Source: Grady Booch, Object-Oriented Analysis and Design with Applications (Second Edition)
6 Introducere în Programarea Orientată Obiect 8
Abstractizarea - Exemplu Încapsularea
Tipul abstract de date "Student" Încapsularea
typedef struct { ascunde detaliile
char nume[50]; implementării unui
char facultatea[30];
obiect
int anStudii;
} Student;
Instanțierea tipului abstract "Student"
Student s={"Popescu Emil","Informatica",1};
Source: Grady Booch, Object-Oriented Analysis and Design with Applications (Second Edition)
Încapsularea Modularizarea
Un obiect este o reprezentare a unei entități din În cadrul unei bănci un cont bancar are un titular,
lumea reală asupra căruia se poate întreprinde o sold, o rata a dobânzii, numar de cont și se potefectua
acțiune sau care poate întreprinde o acțiune operații de depunere, extragere, interogare sold.
Un obiect este caracterizat de: Extragerea atributelor:
titular, sold, rata a dobânzii, numar de cont
nume
Extragerea metodelor:
atribute (date)
depunere, extragere, interogare sold
valorile atributelor la un moment dat definesc o stare
metode (servicii, operatii)
A doua definiție pentru obiecte şi clase: Funcţiile şi datele unei clase pot fi grupate din
punct de vedere al dreptului de acces în:
O clasa este o implementare a unui tip de date abstract. private – date şi funcţii membre care pot fi folosite doar de
Ea defineşte atributele şi metodele care implementează
structura de date respectiv operaţiile tipului de date către funcţiile aparţinând clasei respective;
abstract. protected – similară cu private dar care dă drepturi de accesşi
funcţiilor membre ale claselor ce moştenesc clasa
Un obiect este o instanţă a unei clase. El este unic respectivă
determinat de numele său şi are o stare reprezentată de public – drept de acces tuturor.
valorile atributelor sale la un anumit moment particular.
Exemplu Exemplu
Declararea clasei ContBancar Implementarea clasei ContBancar
class ContBancar{
private: float ContBancar::interogareSold(){
char codIBAN[25]; }
float sold;
public: void ContBancar::afisare(){
void init(char _titular[], char _codIBAN[], float _sold); printf("Titular: %s\n", titular);
void depune(float suma); printf("Cod IBAN: %s\n", codIBAN);
float interogareSold(); }
void afisare();
};
idOb.idDataMembru
idPointerOb ->idDataMembru
idOb.idMetodaMembru(lista de parametri);
idPointerOb ->idMetodaMembru(lista de parametri);