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)
Cost: Gratis

Extras din document

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;}

Conținut arhivă zip

Alții au mai descărcat și

Object orienting programming

LO1.1 Programming language in OBJ Object Oriented Programming (POO) is a design and implementation method in which programs are represented as...

Baze de date - Gestionarea unei agentii de transporturi aeriene

Proiectul propune realizarea evidentei unei agentii de transporturi aeriene, permitand utilizatorului o vizualizare rapida a principalelor elemente...

Crearea unui joc 3D

Tema proiectului este crearea unui joc 3D,cu ajutorul unui motor grafic. Jocul video este o activitate recreatională care implică unul sau mai...

Programare Orientata pe Obiect C++

1. INTRODUCERE ÎN C++ Exista limbaje concepute strict pe baza conceptelor programării orientate pe obiecte (POO), de exemplu Simula sau Smalltalk....

Structuri de Date

CURS 1. - STRUCTURI DE DATE Scop : prezentarea celor mai importante structuri de date ce pot fi utilizate pentru modelarea datelor din aplicatii....

Microprocesoare - Sisteme cu Microprocesoare

1.1 Noţiuni generale Orice calculator, indiferent de mărime, incorporează trei componente de bază: - unitatea centrala de prelucrare (CPU),...

Curs Java

I. ELEMENTE GENERALE 1. Ce este JAVA ? - este un limbaj de programare dezvoltat de JavaSoft, companie în cadrul firmei Sun Microsystems. - este...

Administrare Retele de Calculatoare

ELEMENTELE COMPONENTE ALE UNUI SISTEM DE CALCUL Monitorul Este o periferica de iesire/intrare si este caracterizat prin: - Diagonala ecranului...

Ai nevoie de altceva?