Programare orientată 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)
Puncte necesare: 0

Extras din curs

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

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

Autocad pentru începători

C1.1.CONCEPTUL DE CAD TERMINOLOGIE - COMPUTER AIDED ENGINEERING -CAE-vizeazăetapeledecercetare,inovaresiconcepţie; - COMPUTER AIDED DRAWING/...

Seminar 4 Python

Exemplu instalare pachet scikit-learn Din https://pypi.org/project/scikit-learn/ copiem pip install scikit-learn În Command Prompt:...

Programare HTML și XML

CAPITOLUL I NOTIUNI GENERALE [13, 28, 78, 77] 1.1 INTERNET Internet-ul, sau reteaua mondială de calculatotore, reprezintă un puternic instrument...

Inginerie Software

Fazele dezvoltării unui produs software 1 Ce este ingineria programării? 2. Fazele ingineriei programării 2.1. Faza de analiză 2.2. Faza de...

Rețele de Calculatoare

O reţea de calculatoare (computer network) este un ansamblu de calculatoare interconectate prin intermediul unui mediu de comunicaţie (cablu...

Securitatea rețelelor VPN

I. Prezentarea rețelelor VPN O rețea privată virtuală (VPN) este o conexiune criptată de rețea care folosește un tunel sigur între capete, prin...

Ingineria programării

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

Te-ar putea interesa și

Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java

Introducere Am ales lucrarea intitulată „Ilustrarea și simularea unor algoritmi de inteligență artificială folosind programarea orientată pe...

Programare orientată pe obiect

Cunoasterea Firmei- Domeniu de activitate ELIT Romania, membru al grupului ELIT Group şi Rhiag, a fost înfiinţată în anul 1999. În decursul a...

Programare orientată pe obiecte - calculul impedanței la rezistoare și condensatoare

1.Noţiuni teoretice În realizarea proiectului sunt necesare includerea mai multor librării cum ar fi: process.h, iostream.h, string.h, conio.h şi...

Examen programarea orientată pe obiecte

1. Clase. O definitie “bruta” a clasei ar fi aceea ca este un concept extins al unui tip de date abstract : in loc sa contina numai informatii –...

Mecanisme de specificare și interacțiune a activităților concurente în programarea orientată pe obiecte

Mecanisme de specificare si interactiune a activitatilor concurente în POOC A. Mecanisme de specificare a concurentei Vom enumera si analiza în...

Programare orientată pe obiecte

Paradigma reprezintă un set de concepte, valori, ipoteze şi practici care constituie un mod de percepţie a realităţii comun pentru o anumită...

Programare orientată pe obiecte

Parcurgerea in cascada (waterflow) - Necesitatea reluarii complete in cazul unor defecte majore. - Poate conduce la cresterea timpului de...

Ai nevoie de altceva?