Programare orientată pe obiect

Curs
9.1/10 (10 voturi)
Conține 14 fișiere: doc
Pagini : 203 în total
Cuvinte : 65202
Mărime: 1.35MB (arhivat)
Publicat de: Horia Oros
Puncte necesare: 0
Profesor îndrumător / Prezentat Profesorului: Felicia Ionescu

Extras din curs

Modalitatile (tehnici, paradigme) de programare au evoluat de-a lungul anilor, reflectând trecerea de la programe de dimensiuni reduse la programe si aplicatii de dimensiuni foarte mari, pentru coordonarea carora sunt necesare tehnici evoluate.

Software-ul de dimensiuni mari, care nu poate fi realizat de o singura persoana, intra în categoria sistemelor complexe, alaturi de alte sisteme complexe din cele mai variate domenii, cum sunt organizarea materiei sau organizarile sociale.

Situatiile reale si experiente ale psihologilor au relevat limitele capacitatii umane în perceptia sistemelor complexe, adica imposibilitatea unei persoane de percepe si controla un numar mare de entitati de informatie simultan. De aceea, descompunerea si organizarea sistemelor complexe, în scopul de putea fi percepute, proiectate sau conduse este esentiala. Ordinea în sistemele complexe este introdusa în general printr-o organizare ierarhica, pe mai multe tipuri si nivele de ierarhie. În reprezentarea ierarhica a sistemelor complexe se evidentiaza doua tipuri de ierarhii: ierarhia structurala sau de compozitie si ierarhia de tip.

Ierarhia structurala este o ierarhie în care se poate afirma despre un obiect ca este o parte a altui obiect, mai complex. Exemple de astfel de descompuneri se pot da oricâte, din orice domeniu. De exemplu, un calculator poate fi studiat prin descompunerea lui în subansamble componente: placa de baza, placa video, monitor, etc; la rândul ei, placa de baza este compusa din placheta de circuit imprimat, procesor, memorie, etc. Aceasta este o ierarhie de tipul “este o parte din…”.

Pe de alta parte, fiecare obiect poate fi încadrat într-o categorie (clasa, tip) mai larga, care contine mai multe obiecte care au proprietati comune. De exemplu, procesorul este de o componenta electronica; monitorul este un dispozitiv de afisare, etc. Aceasta ierarhie se refera la apartenenta obiectelor la o anumita clasa (sau tip - “este de tipul…”).

Este esential de a privi sistemele complexe din ambele perspective, studiindu-le atât din perspectiva ierarhiei structurale, deci a obiectelor care le compun, cât si a ierarhiei de tip, deci a claselor carora le apartin. La rândul lor, clasele din care fac parte obiectele pot fi organizate sau studiate ca elemente componente ale unei ierarhii, prin care o clasa este considerata ca primitiva (parinte) a unei alte clase. Cele doua tipuri de ierarhii, ierarhia de clase si ierarhia de obiecte nu sunt independente, si, împreuna, pot sa reprezinte un sistem complex.

La fel ca oricare sistem complex, software-ul poate fi controlat prin descompunerea lui. Rolul descompunerii unui sistem în general (si al programelor în special) este de a permite întelegerea si manevrarea acestuia: sistemul este descompus în parti din ce în ce mai mici, fiecare dintre ele putând fi rafinata si dezvoltata independent. Principiul “divide-et-impera”, care se aplica în multe situatii, este util si în programare.

Se pot identifica doua tipuri de descompunere a programelor: descompunerea algoritmica si descompunerea orientata pe obiecte.

Descompunerea algoritmica permite abordarea structurata a programarii. Programul este împartit în module, în functie de actiunile pe care trebuie sa le efectueze, fiecare modul se împarte în elemente functionale (blocuri, proceduri, functii), într-o structurare de sus în jos (top-down), care urmareste diagrma de trecere a datelor în cursul executiei.

Descompunerea orientata pe obiecte este o alternativa de descompunere prin care programul se descompune dupa obiectele care pot fi identificate, fiecare obiect având asociate o multime de operatii care sunt apelate în cursul desfasurarii programului.

O problema nu poate fi abordata simultan prin ambele metode; se alege fie una, fie cealalta metoda. Care dintre ele este cea mai buna? Nu exista un raspuns absolut si universal valabil, dar experienta a dovedit ca pentru sisteme de dimensiuni mari, descompunerea orientata pe obiecte este mai eficienta, mai sigura si mai flexibila.

1.1 Tehnici de programare

Modul în care este abordata programarea din punct de vedere al descompunerii programelor defineste mai multe tehnici de programare (paradigme), care s-au dezvoltat si au evoluat odata cu evolutia sistemelor de calcul.

Programarea procedurala este prima modalitate de programare care a fost si este înca frecvent folosita. În programarea procedurala accentul se pune pe descompunerea programului în proceduri (functii) care sunt apelate în ordinea de desfasurare a algoritmului. Limbajele care suporta aceasta tehnica de programare prevad posibilitati de transfer a argumentelor catre functii si de returnare a valorilor rezultate. Limbajul Fortran a fost primul limbaj de programare procedurala. Au urmat Algol60, Algol68, Pascal, iar C este unul din ultimile inventii în acest domeniu.

Programarea modulara. În cursul evolutiei programarii procedurale accentul în proiectarea programelor s-a deplasat de la proiectarea procedurilor catre organizarea datelor, aceasta deplasare reflectând cresterea dimensiunilor programelor. O multime de proceduri corelate, împreuna cu datele pe care le manevreaza sunt organizate ca un modul. Tehnica de programare modulara decide descompunerea unui program în module, care încorporeaza o parte din datele programului si functiile care le manevreaza. Aceasta tehnica este cunoscuta ca tehnica de ascundere a datelor (data-hiding). În programarea modulara stilul de programare este în continuare procedural si nu exista o asociere stricta între date si procedurile care opereaza asupra acestora, ci doar gruparea în module cu posibilitatea de a ascunde anumite informatii (date, nume de variabile, functii) definite într-un modul, fata de celelate module.

Modularitatea si ascunderea informatiilor sunt caracteristici implicite în programarea orientata pe obiecte.

Preview document

Programare orientată pe obiect - Pagina 1
Programare orientată pe obiect - Pagina 2
Programare orientată pe obiect - Pagina 3
Programare orientată pe obiect - Pagina 4
Programare orientată pe obiect - Pagina 5
Programare orientată pe obiect - Pagina 6
Programare orientată pe obiect - Pagina 7
Programare orientată pe obiect - Pagina 8
Programare orientată pe obiect - Pagina 9
Programare orientată pe obiect - Pagina 10
Programare orientată pe obiect - Pagina 11
Programare orientată pe obiect - Pagina 12
Programare orientată pe obiect - Pagina 13
Programare orientată pe obiect - Pagina 14
Programare orientată pe obiect - Pagina 15
Programare orientată pe obiect - Pagina 16
Programare orientată pe obiect - Pagina 17
Programare orientată pe obiect - Pagina 18
Programare orientată pe obiect - Pagina 19
Programare orientată pe obiect - Pagina 20
Programare orientată pe obiect - Pagina 21
Programare orientată pe obiect - Pagina 22
Programare orientată pe obiect - Pagina 23
Programare orientată pe obiect - Pagina 24
Programare orientată pe obiect - Pagina 25
Programare orientată pe obiect - Pagina 26
Programare orientată pe obiect - Pagina 27
Programare orientată pe obiect - Pagina 28
Programare orientată pe obiect - Pagina 29
Programare orientată pe obiect - Pagina 30
Programare orientată pe obiect - Pagina 31
Programare orientată pe obiect - Pagina 32
Programare orientată pe obiect - Pagina 33
Programare orientată pe obiect - Pagina 34
Programare orientată pe obiect - Pagina 35
Programare orientată pe obiect - Pagina 36
Programare orientată pe obiect - Pagina 37
Programare orientată pe obiect - Pagina 38
Programare orientată pe obiect - Pagina 39
Programare orientată pe obiect - Pagina 40
Programare orientată pe obiect - Pagina 41
Programare orientată pe obiect - Pagina 42
Programare orientată pe obiect - Pagina 43
Programare orientată pe obiect - Pagina 44
Programare orientată pe obiect - Pagina 45
Programare orientată pe obiect - Pagina 46
Programare orientată pe obiect - Pagina 47
Programare orientată pe obiect - Pagina 48
Programare orientată pe obiect - Pagina 49
Programare orientată pe obiect - Pagina 50
Programare orientată pe obiect - Pagina 51
Programare orientată pe obiect - Pagina 52
Programare orientată pe obiect - Pagina 53
Programare orientată pe obiect - Pagina 54
Programare orientată pe obiect - Pagina 55
Programare orientată pe obiect - Pagina 56
Programare orientată pe obiect - Pagina 57
Programare orientată pe obiect - Pagina 58
Programare orientată pe obiect - Pagina 59
Programare orientată pe obiect - Pagina 60
Programare orientată pe obiect - Pagina 61
Programare orientată pe obiect - Pagina 62
Programare orientată pe obiect - Pagina 63
Programare orientată pe obiect - Pagina 64
Programare orientată pe obiect - Pagina 65
Programare orientată pe obiect - Pagina 66
Programare orientată pe obiect - Pagina 67
Programare orientată pe obiect - Pagina 68
Programare orientată pe obiect - Pagina 69
Programare orientată pe obiect - Pagina 70
Programare orientată pe obiect - Pagina 71
Programare orientată pe obiect - Pagina 72
Programare orientată pe obiect - Pagina 73
Programare orientată pe obiect - Pagina 74
Programare orientată pe obiect - Pagina 75
Programare orientată pe obiect - Pagina 76
Programare orientată pe obiect - Pagina 77
Programare orientată pe obiect - Pagina 78
Programare orientată pe obiect - Pagina 79
Programare orientată pe obiect - Pagina 80
Programare orientată pe obiect - Pagina 81
Programare orientată pe obiect - Pagina 82
Programare orientată pe obiect - Pagina 83
Programare orientată pe obiect - Pagina 84
Programare orientată pe obiect - Pagina 85
Programare orientată pe obiect - Pagina 86
Programare orientată pe obiect - Pagina 87
Programare orientată pe obiect - Pagina 88
Programare orientată pe obiect - Pagina 89
Programare orientată pe obiect - Pagina 90
Programare orientată pe obiect - Pagina 91
Programare orientată pe obiect - Pagina 92
Programare orientată pe obiect - Pagina 93
Programare orientată pe obiect - Pagina 94
Programare orientată pe obiect - Pagina 95
Programare orientată pe obiect - Pagina 96
Programare orientată pe obiect - Pagina 97
Programare orientată pe obiect - Pagina 98
Programare orientată pe obiect - Pagina 99
Programare orientată pe obiect - Pagina 100
Programare orientată pe obiect - Pagina 101
Programare orientată pe obiect - Pagina 102
Programare orientată pe obiect - Pagina 103
Programare orientată pe obiect - Pagina 104
Programare orientată pe obiect - Pagina 105
Programare orientată pe obiect - Pagina 106
Programare orientată pe obiect - Pagina 107
Programare orientată pe obiect - Pagina 108
Programare orientată pe obiect - Pagina 109
Programare orientată pe obiect - Pagina 110
Programare orientată pe obiect - Pagina 111
Programare orientată pe obiect - Pagina 112
Programare orientată pe obiect - Pagina 113
Programare orientată pe obiect - Pagina 114
Programare orientată pe obiect - Pagina 115
Programare orientată pe obiect - Pagina 116
Programare orientată pe obiect - Pagina 117
Programare orientată pe obiect - Pagina 118
Programare orientată pe obiect - Pagina 119
Programare orientată pe obiect - Pagina 120
Programare orientată pe obiect - Pagina 121
Programare orientată pe obiect - Pagina 122
Programare orientată pe obiect - Pagina 123
Programare orientată pe obiect - Pagina 124
Programare orientată pe obiect - Pagina 125
Programare orientată pe obiect - Pagina 126
Programare orientată pe obiect - Pagina 127
Programare orientată pe obiect - Pagina 128
Programare orientată pe obiect - Pagina 129
Programare orientată pe obiect - Pagina 130
Programare orientată pe obiect - Pagina 131
Programare orientată pe obiect - Pagina 132
Programare orientată pe obiect - Pagina 133
Programare orientată pe obiect - Pagina 134
Programare orientată pe obiect - Pagina 135
Programare orientată pe obiect - Pagina 136
Programare orientată pe obiect - Pagina 137
Programare orientată pe obiect - Pagina 138
Programare orientată pe obiect - Pagina 139
Programare orientată pe obiect - Pagina 140
Programare orientată pe obiect - Pagina 141
Programare orientată pe obiect - Pagina 142
Programare orientată pe obiect - Pagina 143
Programare orientată pe obiect - Pagina 144
Programare orientată pe obiect - Pagina 145
Programare orientată pe obiect - Pagina 146
Programare orientată pe obiect - Pagina 147
Programare orientată pe obiect - Pagina 148
Programare orientată pe obiect - Pagina 149
Programare orientată pe obiect - Pagina 150
Programare orientată pe obiect - Pagina 151
Programare orientată pe obiect - Pagina 152
Programare orientată pe obiect - Pagina 153
Programare orientată pe obiect - Pagina 154
Programare orientată pe obiect - Pagina 155
Programare orientată pe obiect - Pagina 156
Programare orientată pe obiect - Pagina 157
Programare orientată pe obiect - Pagina 158
Programare orientată pe obiect - Pagina 159
Programare orientată pe obiect - Pagina 160
Programare orientată pe obiect - Pagina 161
Programare orientată pe obiect - Pagina 162
Programare orientată pe obiect - Pagina 163
Programare orientată pe obiect - Pagina 164
Programare orientată pe obiect - Pagina 165
Programare orientată pe obiect - Pagina 166
Programare orientată pe obiect - Pagina 167
Programare orientată pe obiect - Pagina 168
Programare orientată pe obiect - Pagina 169
Programare orientată pe obiect - Pagina 170
Programare orientată pe obiect - Pagina 171
Programare orientată pe obiect - Pagina 172
Programare orientată pe obiect - Pagina 173
Programare orientată pe obiect - Pagina 174
Programare orientată pe obiect - Pagina 175
Programare orientată pe obiect - Pagina 176
Programare orientată pe obiect - Pagina 177
Programare orientată pe obiect - Pagina 178
Programare orientată pe obiect - Pagina 179
Programare orientată pe obiect - Pagina 180
Programare orientată pe obiect - Pagina 181
Programare orientată pe obiect - Pagina 182
Programare orientată pe obiect - Pagina 183
Programare orientată pe obiect - Pagina 184
Programare orientată pe obiect - Pagina 185
Programare orientată pe obiect - Pagina 186
Programare orientată pe obiect - Pagina 187
Programare orientată pe obiect - Pagina 188
Programare orientată pe obiect - Pagina 189
Programare orientată pe obiect - Pagina 190
Programare orientată pe obiect - Pagina 191

Conținut arhivă zip

  • Partea1.doc
  • Partea2.doc
  • Partea3.doc
  • Partea4.doc
  • Partea5.doc
  • Partea6.doc
  • Partea7.doc
  • Partea8.doc
  • Prefata.doc
  • solutii2.doc
  • solutii3.doc
  • Solutii4.doc
  • Solutii5.doc
  • Solutii7.doc

Alții au mai descărcat și

Activitatea unei Farmacii - Proiect UML

Activitatea unei farmacii 1) Specificarea cerinţelor Se doreşte dezvoltarea unui software interactiv care să cuprindă activitatea unei farmacii....

Aplicație a limbajului UML - album foto online

1. Descrierea proiectului Proiectul reprezintă o aplicaţie de administrare online a albumelor cu fotografii. Această aplicaţie oferă posibilitatea...

Reprezentarea activităților firmei cu ajutorul limbajului UML

 Limbajul UML UML nu este un simplu limbaj de modelare orientat pe obiecte, ci în prezent, este limbajul universal standard pentru dezvoltatorii...

Limbajul Pascal

Sintaxa instructiunii: IF < conditie > then < secventa > ; SAU IF < conditie > then < secventa 1 > else < secventa 2 > ; Principiu de...

Manual Limbaj C

1. Generalitati asupra limbajului C 1.1. Introducere Limbajul C a fost creat la începutul anilor '70 de catre Brian W Kernigham si Dennis M...

Clase și Programare C++ Builder

1. Un tur rapid al C++Builder Pentru moment, nu vom acorda decât o privire rapidă mediului de dezvoltare C++Builder, urmând ca în lecţia a şasea...

Algoritmi - 1

Introducere Un algoritm este o metoda de rezolvare a unei probleme printr-un numar finit de pasi. Printr-un pas se întelege o operatie...

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 obiect C++

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

Ai nevoie de altceva?