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

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

Microsoft Excel

Obiective: 1. Crearea, redenumirea, utilizarea şi ştergerea foilor de calcul tabelar; 2. Definirea şi formatarea celulelor; 3. Definirea...

Design-ul și Machetarea Paginilor Web

Trei reguli faţă de un sit 1. Respectarea strictă a standardelor internet. 2. Alegerea riguroasă a conţinutului paginilor web. 3. Asigurarea...

Microsoft Visual Studio C++ MFC Project

In Microsoft Visual Studio cream C++  MFC Project , cu un sindur document. Aici vom incerca sa interpretam cu ajutorul graficii 2D, grafica 3D...

Criptarea Textelor cu Ajutorul Algoritmului Caesar și Affine

Affine: Cifrul afin este un tip de cifru de substitutie monoalphabetica. în care fiecare literă într-un alfabet este mapat la echivalentul său...

Excel - Baze de Date

CALCUL TABELAR. PROCESOARE DE TABELE. EXCEL Prezentare generală a calculului tabelar Procesoarele de calcul tabelar sau generatoarele de foi de...

Structuri de Date și Algoritmi

Lucrarea 1 Evaluarea si masurarea timpului de executie al unui algoritm 1.Definitia unui tip de date abstract - TDA Un TDA este un model...

Tehnici de Programare a Datelor

1. Care este diferenta intre un semnal continuu si un semnal continuu cuantificat? In functie de evolutia temporala semnalele se clasifica in...

Probleme Programare

Sa se scrie o functie care calculeaza cel mai mare divizor comun dintre 2 nr numere intregi nenule, utilizand algoritmul lui Euclid. /* CMMDC */...

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?