Programare Orientata pe Obiect C++

Curs
9/10 (3 voturi)
Domeniu: Calculatoare
Conține 11 fișiere: doc
Pagini : 145 în total
Cuvinte : 42757
Mărime: 532.94KB (arhivat)
Cost: Gratis

Extras din document

1. INTRODUCERE ÎN C++

Exista limbaje concepute strict pe baza conceptelor programării orientate pe obiecte (POO), de exemplu Simula sau Smalltalk. O altă abordare este de a adăuga unor limbaje cu o popularitate bine stabilită, de exemplu Pascal si C, elementele tehnicii programării orientate pe obiecte.

C++ combină avantajele oferite de limbajul C (eficienţă, flexibilitate şi popularitate) cu avantajele oferite de tehnica POO (Programării Orientate pe Obiecte). Deşi adoptă principiile POO, C++ nu impune aplicarea lor strictă (se pot scrie programe fără elemente POO). Conceptul fundamental în C++ este clasa.

C++ este o extensie a limbajului C, creat de Bjarne Stroustrup. Cea mai importantă extensie pe care aceasta a făcut-o limbajului său s-a produs în momentul introducerii claselor.

Clasele reprezintă o extensie a structurilor din C. Cu acestea, programatorul îşi poate crea tipuri de date complexe, ce cuprind atât datele cât şi operaţiile ce acţionează asupra acestora.

Variabilele create din clase se numesc obiecte, iar programarea utilizând aceste concepte, programare orientată pe obiecte (Object – Oriented Programming).

Cum este şi firesc, C++ posedă toate capacităţile limbajului C. În plus utilizând clasele, se pot dezvolta programe de un de un înalt grad al complexităţii. Tipurile definite prin clase pot fi integrate în programe aproape la fel de uşor ca în cazul structurilor.

1.1. Ce este programarea orientată pe obiecte ?

Programarea orientată pe obiecte (OOP) este o nouă cale de abordare a programării. Modalităţile de programare s-au schimbat imens de la inventarea calculatorului, în primul rând pentru a se acomoda creşterii complexităţii programelor. De exemplu, la început, când au fost inventate calculatoarele, programarea se făcea introducându-se instrucţiuni în maşina de cod binar cu ajutorul panoului frontal al calculatorului. Acest lucru a fost convenabil atât timp cât programele aveau doar câteva sute de instrucţiuni. O dată cu mărirea programelor, au fost inventate limbajele de asamblare, astfel încât programatorii se puteau descurca cu programe mai mari, cu complexitate crescută, folosind reprezentarea simbolică a instrucţiunilor pentru maşină. Deoarece programele continuau să crească, au fost introduse limbajele de nivel înalt care oferă programatorului mai multe unelte cu care să facă faţă complexităţii. Primul limbaj larg răspândit a fost, desigur, FORTRAN. Chiar dacă el a fost un prim pas foarte impresionant, este departe de a fi un limbaj care încurajează programe clare, uşor de înţeles.

Anii ’60 au dat naştere programării structurate. Aceasta este metoda încurajată de limbaje precum sunt C şi Pascal. Utilizarea limbajelor structurate face posibilă scrierea destul de uşoară a unor programe relativ complexe. Totuşi, chiar folosind metodele programării structurate, un proiect nu mai poate fi controlat odată ce atinge anumite mărimi (adică odată ce complexitatea sa o depăşeşte pe cea pe care o poate controla un programator).

Luaţi în calcul că pentru fiecare realizare din dezvoltarea programării au fost create metode care să permită programatorului să se descurce cu complexitate crescută. La fiecare pas al drumului noua abordare a preluat cele mai bune elemente ale metodelor anterioare şi a continuat drumul. Astăzi multe proiecte sunt aproape sau în punctul în care programarea structurată nu mai face faţă. Pentru a rezolva această problemă, a fost inventată programarea orientată pe obiecte.

Programarea orientată pe obiecte a preluat cele mai bune idei ale programării structurate şi le combină cu mai multe concepte noi, mai puternice, care încurajează abordarea programării într-un mod nou. În general, când se programează în modul orientat pe obiecte, o problemă este împărţită în subgrupe de secţiuni înrudite, care ţin seama atât de codul cât şi de datele corespunzătoare din fiecare grup. Apoi, se organizează aceste subgrupe într-o structură ierarhică. În sfârşit, subgrupele se transformă în unităţi de sine stătătoare numite obiecte.

Toate limbajele de programare orientate pe obiecte au trei caracteristici comune: încapsularea, polimorfism şi moştenire.

Încapsularea

Încapsularea este un mecanism care leagă împreună cod şi date şi le păstrează pe ambele în siguranţă faţă de intervenţii din afară şi de utilizări greşite. Mai mult, încapsularea este cea care permite crearea unui obiect. Spus simplu, un obiect este o entitate logică ce încapsulează atât date cât şi cod care manevrează aceste date. Într-un obiect o parte din cod şi/sau date pot fi particulare acelui obiect şi inaccesibile pentru orice din afara sa. În acest fel, un obiect dispune de un nivel semnificativ de protecţie care împiedică modificarea accidentală sau utilizarea incorectă a părţilor proprii obiectului de către secţiuni ale programului cu care nu are legătură.

În cele din urmă, un obiect este o variabilă de un tip definit de utilizator. La început poate să apară ciudat ca un obiect, care leagă atât cod cât şi date, să fie considerat ca fiind o variabilă. Totuşi, în programarea orientată pe obiecte aşa stau lucrurile. Când se defineşte un obiect, implicit se crează un nou tip de date.

Polimorfism

Limbajele de programare orientate pe obiecte admit polimorfismul, care este caracterizat prin fraza „o interfaţă, metode multiple”. Mai clar, polimorfismul este caracteristica ce permite unei interfeţe să fie folosită cu o clasă generală de acţiuni. Acţiunea specifică selectată este determinată de natura precisă a situaţiei. Un exemplu din practica zilnică pentru polimorfism este un termostat. Nu are importanţă ce combustibili este utilizat pentru încălzirea casei (gaze, petrol, electricitate, etc.) termostatul lucrează în acelaşi fel. În acest caz, termostatul (care este interfaţa) este acelaşi indiferent de combustibil (metodă). De exemplu, dacă temperatura dorită este de 22 de grade, se va regla termostatul la 22 de grade. Nu are importanţă combustibilul care produce căldura. Acelaşi principiu de poate aplica şi programării. De exemplu, se poate implementa un program care defineşte trei tipuri de memorie stivă. Una este folosită pentru valori întregi, una pentru valori tip caracter şi una pentru valori în virgulă mobilă. Datorită polimorfismului se pot crea trei perechi de funcţii numite push() şi pop() – câte una pentru fiecare tip de date. Conceptul general (interfaţa) este cel de a introduce şi de a scoate date dintr-o memorie stivă. Funcţiile definesc calea specifică (metoda) care se foloseşte pentru fiecare tip de date. Când se introduc date în memoria stivă, tipul de date va fi cel care va determina versiunea particulară a lui push() care va fi apelată.

Preview document

Programare Orientata pe Obiect C++ - Pagina 1
Programare Orientata pe Obiect C++ - Pagina 2
Programare Orientata pe Obiect C++ - Pagina 3
Programare Orientata pe Obiect C++ - Pagina 4
Programare Orientata pe Obiect C++ - Pagina 5
Programare Orientata pe Obiect C++ - Pagina 6
Programare Orientata pe Obiect C++ - Pagina 7
Programare Orientata pe Obiect C++ - Pagina 8
Programare Orientata pe Obiect C++ - Pagina 9
Programare Orientata pe Obiect C++ - Pagina 10
Programare Orientata pe Obiect C++ - Pagina 11
Programare Orientata pe Obiect C++ - Pagina 12
Programare Orientata pe Obiect C++ - Pagina 13
Programare Orientata pe Obiect C++ - Pagina 14
Programare Orientata pe Obiect C++ - Pagina 15
Programare Orientata pe Obiect C++ - Pagina 16
Programare Orientata pe Obiect C++ - Pagina 17
Programare Orientata pe Obiect C++ - Pagina 18
Programare Orientata pe Obiect C++ - Pagina 19
Programare Orientata pe Obiect C++ - Pagina 20
Programare Orientata pe Obiect C++ - Pagina 21
Programare Orientata pe Obiect C++ - Pagina 22
Programare Orientata pe Obiect C++ - Pagina 23
Programare Orientata pe Obiect C++ - Pagina 24
Programare Orientata pe Obiect C++ - Pagina 25
Programare Orientata pe Obiect C++ - Pagina 26
Programare Orientata pe Obiect C++ - Pagina 27
Programare Orientata pe Obiect C++ - Pagina 28
Programare Orientata pe Obiect C++ - Pagina 29
Programare Orientata pe Obiect C++ - Pagina 30
Programare Orientata pe Obiect C++ - Pagina 31
Programare Orientata pe Obiect C++ - Pagina 32
Programare Orientata pe Obiect C++ - Pagina 33
Programare Orientata pe Obiect C++ - Pagina 34
Programare Orientata pe Obiect C++ - Pagina 35
Programare Orientata pe Obiect C++ - Pagina 36
Programare Orientata pe Obiect C++ - Pagina 37
Programare Orientata pe Obiect C++ - Pagina 38
Programare Orientata pe Obiect C++ - Pagina 39
Programare Orientata pe Obiect C++ - Pagina 40
Programare Orientata pe Obiect C++ - Pagina 41
Programare Orientata pe Obiect C++ - Pagina 42
Programare Orientata pe Obiect C++ - Pagina 43
Programare Orientata pe Obiect C++ - Pagina 44
Programare Orientata pe Obiect C++ - Pagina 45
Programare Orientata pe Obiect C++ - Pagina 46
Programare Orientata pe Obiect C++ - Pagina 47
Programare Orientata pe Obiect C++ - Pagina 48
Programare Orientata pe Obiect C++ - Pagina 49
Programare Orientata pe Obiect C++ - Pagina 50
Programare Orientata pe Obiect C++ - Pagina 51
Programare Orientata pe Obiect C++ - Pagina 52
Programare Orientata pe Obiect C++ - Pagina 53
Programare Orientata pe Obiect C++ - Pagina 54
Programare Orientata pe Obiect C++ - Pagina 55
Programare Orientata pe Obiect C++ - Pagina 56
Programare Orientata pe Obiect C++ - Pagina 57
Programare Orientata pe Obiect C++ - Pagina 58
Programare Orientata pe Obiect C++ - Pagina 59
Programare Orientata pe Obiect C++ - Pagina 60
Programare Orientata pe Obiect C++ - Pagina 61
Programare Orientata pe Obiect C++ - Pagina 62
Programare Orientata pe Obiect C++ - Pagina 63
Programare Orientata pe Obiect C++ - Pagina 64
Programare Orientata pe Obiect C++ - Pagina 65
Programare Orientata pe Obiect C++ - Pagina 66
Programare Orientata pe Obiect C++ - Pagina 67
Programare Orientata pe Obiect C++ - Pagina 68
Programare Orientata pe Obiect C++ - Pagina 69
Programare Orientata pe Obiect C++ - Pagina 70
Programare Orientata pe Obiect C++ - Pagina 71
Programare Orientata pe Obiect C++ - Pagina 72
Programare Orientata pe Obiect C++ - Pagina 73
Programare Orientata pe Obiect C++ - Pagina 74
Programare Orientata pe Obiect C++ - Pagina 75
Programare Orientata pe Obiect C++ - Pagina 76
Programare Orientata pe Obiect C++ - Pagina 77
Programare Orientata pe Obiect C++ - Pagina 78
Programare Orientata pe Obiect C++ - Pagina 79
Programare Orientata pe Obiect C++ - Pagina 80
Programare Orientata pe Obiect C++ - Pagina 81
Programare Orientata pe Obiect C++ - Pagina 82
Programare Orientata pe Obiect C++ - Pagina 83
Programare Orientata pe Obiect C++ - Pagina 84
Programare Orientata pe Obiect C++ - Pagina 85
Programare Orientata pe Obiect C++ - Pagina 86
Programare Orientata pe Obiect C++ - Pagina 87
Programare Orientata pe Obiect C++ - Pagina 88
Programare Orientata pe Obiect C++ - Pagina 89
Programare Orientata pe Obiect C++ - Pagina 90
Programare Orientata pe Obiect C++ - Pagina 91
Programare Orientata pe Obiect C++ - Pagina 92
Programare Orientata pe Obiect C++ - Pagina 93
Programare Orientata pe Obiect C++ - Pagina 94
Programare Orientata pe Obiect C++ - Pagina 95
Programare Orientata pe Obiect C++ - Pagina 96
Programare Orientata pe Obiect C++ - Pagina 97
Programare Orientata pe Obiect C++ - Pagina 98
Programare Orientata pe Obiect C++ - Pagina 99
Programare Orientata pe Obiect C++ - Pagina 100
Programare Orientata pe Obiect C++ - Pagina 101
Programare Orientata pe Obiect C++ - Pagina 102
Programare Orientata pe Obiect C++ - Pagina 103
Programare Orientata pe Obiect C++ - Pagina 104
Programare Orientata pe Obiect C++ - Pagina 105
Programare Orientata pe Obiect C++ - Pagina 106
Programare Orientata pe Obiect C++ - Pagina 107
Programare Orientata pe Obiect C++ - Pagina 108
Programare Orientata pe Obiect C++ - Pagina 109
Programare Orientata pe Obiect C++ - Pagina 110
Programare Orientata pe Obiect C++ - Pagina 111
Programare Orientata pe Obiect C++ - Pagina 112
Programare Orientata pe Obiect C++ - Pagina 113
Programare Orientata pe Obiect C++ - Pagina 114
Programare Orientata pe Obiect C++ - Pagina 115
Programare Orientata pe Obiect C++ - Pagina 116
Programare Orientata pe Obiect C++ - Pagina 117
Programare Orientata pe Obiect C++ - Pagina 118
Programare Orientata pe Obiect C++ - Pagina 119
Programare Orientata pe Obiect C++ - Pagina 120
Programare Orientata pe Obiect C++ - Pagina 121
Programare Orientata pe Obiect C++ - Pagina 122
Programare Orientata pe Obiect C++ - Pagina 123
Programare Orientata pe Obiect C++ - Pagina 124
Programare Orientata pe Obiect C++ - Pagina 125
Programare Orientata pe Obiect C++ - Pagina 126
Programare Orientata pe Obiect C++ - Pagina 127
Programare Orientata pe Obiect C++ - Pagina 128
Programare Orientata pe Obiect C++ - Pagina 129
Programare Orientata pe Obiect C++ - Pagina 130
Programare Orientata pe Obiect C++ - Pagina 131
Programare Orientata pe Obiect C++ - Pagina 132
Programare Orientata pe Obiect C++ - Pagina 133
Programare Orientata pe Obiect C++ - Pagina 134
Programare Orientata pe Obiect C++ - Pagina 135
Programare Orientata pe Obiect C++ - Pagina 136
Programare Orientata pe Obiect C++ - Pagina 137
Programare Orientata pe Obiect C++ - Pagina 138
Programare Orientata pe Obiect C++ - Pagina 139
Programare Orientata pe Obiect C++ - Pagina 140
Programare Orientata pe Obiect C++ - Pagina 141
Programare Orientata pe Obiect C++ - Pagina 142
Programare Orientata pe Obiect C++ - Pagina 143
Programare Orientata pe Obiect C++ - Pagina 144
Programare Orientata pe Obiect C++ - Pagina 145
Programare Orientata pe Obiect C++ - Pagina 146
Programare Orientata pe Obiect C++ - Pagina 147
Programare Orientata pe Obiect C++ - Pagina 148

Conținut arhivă zip

  • Programare Orientata pe Obiect C++
    • curs 1.doc
    • curs 10 C++Builder.doc
    • curs 11 C++Builder.doc
    • curs 2.doc
    • curs 3 postuniv.doc
    • curs 4postuniv.doc
    • curs 5 postuniv.doc
    • curs 6 postuniv.doc
    • curs 7 postuniv.doc
    • curs 8 C++Builder.doc
    • curs 9 C++Builder.doc

Alții au mai descărcat și

Arhitectura Calculatoarelor - Configuratia Hardware a unui P.C. Compatibil I.B.M.

CAPITOLUL I CONFIGURATIA HARDWARE A UNUI P.C. COMPATIBIL I.B.M. Configuratia unui PC compatibil IBM Introducere Au trecut mai bine de doua...

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

Crearea unui Arhivator și a Unui Dezarhivator

Introducere „Un calculator, nu face ceea ce vrei tu sa faca, dar ceea ce îi spui sa faca” - Legea lui Murphy C/C++ sunt limbaje, si sunt...

Referat Bibliografic Php și MySQL

1. Descrierea aplicaţiilor 1.1. Macromedia Dreamweaver Macromedia Dreamweaver este o unealtă destinată creatorilor de pagini web. Dreamweaver a...

LPOO - Raspunsuri Teorie

Caracteristicile destructorului unei clase. - Destructorul are acelasi nume ca si clasa a cãror metodã este; - Numele destructorului este...

Programare Orientata pe Obiecte

Să se definească adecvat o clasă abstractă cu numele Mobila, din care să se deriveze public claseleBibiloteca şi Birou.Clasa Mobila va avea ca dată...

Managenmentul și Proiectarea Sistemelor Informatice

1.1.Sisteme, sistemul informational si abordarea sistemica V.M. Gluseav spune ca, expresia neuniformitatii distributiei substantei si energiei în...

Ai nevoie de altceva?