POO

Curs
7/10 (2 voturi)
Domeniu: Calculatoare
Conține 1 fișier: docx
Pagini : 6 în total
Cuvinte : 2806
Mărime: 28.25KB (arhivat)
Publicat de: Ionut Cosmin B.
Puncte necesare: 0

Extras din curs

Un TDA este constituit atat din date cat si functii, interfata unui TDA fiind conferita de multimea de operatii care se pot efectua asupra datelor

Obiectul reprezinta un element (entitate) care se constituie atat din structuri de date (atribute, caracteristici) cat si operatii (actiuni, comportament). Totodata, un obiect este considerat o instanta a unei clase, un caz particular al acesteia.

Clasa reprezinta o colectie de obiecte similare care impartasesc aceleasi atribute si acelasi comportament. Operatia de creare a unui obiect dintr-o clasa se numeste instantiere, de aici rezultand si denumirea de instanta pentru un obiect creat.

Mesajul reprezinta o functie care confera un comportament unui obiect. Trimiterea unui mesaj este echivalenta unei cereri adresata unui obiect de a invoca o functie. Mesajele sunt cele care permit comunicarea intre obiecte.

Incapsularea reprezinta principiul asociat abstractizarii datelor, in sensul ca structura de date utilizata este ascunsa, fiind furnizata doar o interfata. In programarea orientata pe obiecte incapsularea datelor se realizeaza cu ajutorul claselor.

Mostenirea reprezinta acea tehnica de programare prin care se pot utiliza si extinde clase deja create, utilizand astfel codul sursa deja scris. Mecanismul mostenirii permite dezvoltarea de noi clase numite clase derivate (subclase) din clase de baza (superclase). Avantajul acestei tehnici este faptul ca o clasa derivata mosteneste toate atributele si comportamentele clasei de baza, la care se pot adauga atribute si comportamente proprii.

Polimorfismul indica mai multe comportamente alternative intalnite in clase derivate inrudite. Polimorfismul se intalneste si sub sintagma "o singura interfata, mai multe metode", avantajul fiind numarul redus de elemente in cazul unei interfete comune care permite acces la mai multe actiuni.

Operatiile de intrare/iesire (I/O) se bazeaza pe conceptul de stream ce reprezinta un model abstract al dispozitivelor de intrare/iesire. Un stream este o secventa de octeti.

Sintaxa operatiei de intrare: cin>>v1>>v2>> >vn;

Sintaxa operatiei de iesire:cout<<e1<<e2<< <<en;

Biblioteca folosita este iostream.h. Biblioteca iostream include si patru stream-uri predefinite:

- cin - stream de intrare conectat la intrarea standard;

- cout - stream de iesire conectat la iesirea standard;

- cerr - stream de iesire setat pentru o iesire fara buffer catre un dispozitiv standard de eroare;

- clog - stream similar cu cerr, dar avand buffer.

In limbajul C, alocarea dinamica a memoriei se realizeaza cu ajutorul functiilor malloc, iar eliberarea memoriei cu functia free. In limbajul C++ exista doi operatori new si delete care joaca acelasi rol de alocare, respectiv dealocare a memoriei. Operatorul new returneaza un pointer la zona de memorie alocata dinamic, in caz de insucces returnand NULL. Operatorul delete elibereaza zona de memorie indicata de argumentul sau, care este de fapt un pointer obtinut ca urmare a alocarii cu operatorul new.

Sintaxa generala a operatorului de alocare dinamica a memoriei este:

tip * pt_tip;pt_tip=new tip;

sau direct:

Tip *pt_tip=new tip;

unde tip reprezinta un tip de date fundamental, iar pt_tip reprezinta pointerul catre tipul de date dorit.

Sintaxa generala a operatorului de dealocare dinamica a memoriei este:

delete pt_tip; unde pt_tip reprezinta pointerul catre tipul de date dorit pentru care s-a alocat memorie.

Clasa este un tip de date abstract si contine date membru si functii membru sau metode. Clasele ofera un nivel superior de protectie atat datelor, cat si functiilor membru, prin incapsularea datelor. O multime de obiecte ce impartasesc aceleasi atribute si aceleasi comportamente alcatuiesc o clasa.

Obiectele sunt instante ale unei clase care comunica intre ele prin intermediul metodelor (invocate la primirea unui mesaj). O metoda reprezinta o functie membru a unei clase. Comportamentul unui obiect reprezinta totalitatea metodelor care ii pot fi asociate.

In limbajul C++, definitia structurii este extinsa, astfel incat o structura devine un caz particular de clasa, cu exceptia faptului ca membrii unei structuri sunt impliciti publici, in tip ce membrii unei clase sunt impliciti privati, pentru a asigura incapsularea implicita a datelor.

Sintaxa declararii unei clase este urmatoarea:class nume_clasa

{private:

// date si functii membru private

public:

// date si functii membru publice

protected:

// date si functii membru protejate

};

Sectiunea privata desemnata de cuvantul cheie private sau in mod implicit, la inceputul clasei dupa acolada deschisa "{", grupeaza membrii clasei (date si functii), care sunt accesibili doar functiilor membru ale clasei respective si eventual, asa-numitelor functii prietene ale acesteia. Membrii privati nu sunt accesibili din afara clasei. Accesarea acestor membrii se face in mod indirect, prin intermediul functiilor publice.

Sectiunea publica desemnata de cuvantul cheie public grupeaza membrii clasei (date si functii), care sunt accesibili in toate sectiunile programului care acceseaza obiecte ale clasei respective.

Sectiunea protejata desemnata de cuvantul cheie protected grupeaza membrii clasei (date si functii), care pot fi accesati de catre clasele derivate din clasa respectiva.

Sintaxa de definire a unei functii membru:

tip NumeClasa::NumeFunctie(lista parametri)

{ declaratii locale;

Instructiuni;}

Preview document

POO - Pagina 1
POO - Pagina 2
POO - Pagina 3
POO - Pagina 4
POO - Pagina 5
POO - Pagina 6

Conținut arhivă zip

Alții au mai descărcat și

Arhitectura calculatoarelor

Scopul lucrării a) Elemente de limbaj de asamblare. b) Instructiuni de transfer. c) Instructiuni aritmetice. Desfășurarea lucrării...

Ingineria programării

În “Ghidul cunoștințelor esențiale referitoare la Ingineria Programării” (Guide to the Software Engineering Body of Knowledge -...

Securitatea bazelor de date

Astăzi vom discuta despre sucuritatea bazelor de date. Ne vom uita în mod deosebit la diferite comenzi şi construcţii SQL care să ne ajute să...

Microprocesoare

1)initiarea in programare ASM. 2)stodierea modului periferic GPIO. Problema: Sa se dezvolte o aplicatie care ar permite trecerea starii unui led...

Sisteme Multimedia

Scopul lucrării Familiarizarea cu produsul Director, studierea principalelor componente necesare dezvoltării unei aplicaţii multimedia. Sarcina...

Laboratoare programarea orientată pe obiecte

1. Obiective - Formarea unei imagini generale, preliminare, despre programarea orientată pe obiecte (POO) și deprinderea cu noile facilitați...

Inițiere în limbajul de programare VBA (Visual Basic for Applications)

Sarcina lucrării: Sarcina lucrării este de a face cunoștință cu limbajul de programare Visual Basic for Applications (VBA) și mediul de dezvoltare...

Bazele utilizării calculatoarelor

Un computer (calculator sau sistem de calcul) poate fi definit ca un echipament electronic de prelucrare automată a datelor, pe bază de program....

Te-ar putea interesa și

Algebră liniară numerică - aplicații ale POO în C++

~ Prefaţă ~ Programarea orientată pe obiecte este un concept întâlnit sub diverse denumiri, printre care: programare obiectuală, programare...

Proiect POO

I. TEMA PROIECTULUI I. 1. ENUNT Se considera un vector care contine numarul variabil de perechi de pantaloni (p[20]), care se pot produce intr-o...

Obiect Oriented Programming vs Component Oriented Programming

Introducere 1. PROGRAMARE ORIENTATĂ PE OBIECTE Programarea orientată pe obiecte este o metodă de programare în care programele sunt organizate ca...

Clase, Clase Derivate, Constructori, Destructori - Programe POO

Constructori si destructori #include "conio.h" #include "iostream" using namespace std; class complex {private: double re; double im;...

Curs POO

1. INTRODUCERE 1.1. Scurt istoric Multá vreme C a fost limbajul preferat de programatori, ín special de cei care dezvoltau aplicaþii pentru...

Grile POO

Grile POO – 1.Ce reprezinta Incapsularea? a) un algoritm de afisare b) regruparea mai multor elemente de date si/sau de comportament c) o...

Probleme POO

/*Implementati o clasa pentru realizarea de operatii cu numere complexe, o functie friend care calculeaza distanta dintre 2 numere complexe si...

Ai nevoie de altceva?