Documente Academic
Documente Profesional
Documente Cultură
HAUER ILEANA
Departament Sisteme Informaționale pentru Afaceri, FEAA
1) Cursuri și seminarii
Cursuri/seminarii online Google Meet
https://meet.google.com/xuq-eekg-pkz
Material disponibil online
www.hauers.org/ sau https://elearning.e-uvt.ro
user/passw communicate pe email fiecarui student
2) Examen
2 puncte teste online teorie- în timpul semestrului
1 punct START
2 puncte Test1 aplicație cu str alternativă- minim pentru promovare
5 puncte Test2 aplicație
Suplimentar 2 puncte participarea activă la ore ( 0.2 fiecare intervenție)
Bibliografie
Muntean Cornelia coordonator, Hauer Ileana –Limbajul C++ și Programarea
orientată pe obiecte, Editura de Vest, 2019---preț 40 lei
1
Herbert Schildt, C++ Manual complet, Editura Teora (traducere, 2012);
2
Partea I-a: Introducere în abordarea orientată spre obiecte (OO)
Evoluția către abordarea OO
Scurt istoric C/C++
Programare structurată versus POO
Partea a II-a: Fundamente ale limbajului C++ -
Variabile și tipuri de date Operatori
Structuri de control
Funcții. Array-uri, stringuri, pointeri și alocare dinamică a memoriei
Partea a III-a: Programare orientată pe obiecte
Fundamente: Clase, constructori/destructori, supraîncărcarea constructorilor,
constructorul implicit, pointeri spre clase, clase definite cu struct și union
Lucrul cu clase: Supraîncărcarea operatorilor, cuvântul cheie this, membrii statici
Prietenie și moștenire: Funcții prietene, clase prietene, moștenirea între clase etc
3
CURSUL 1
Subiecte discutate
A) Ce este POO
B) Concepte de bază: structura unui program
C) Variabile, tipuri de date, operatori (reluat in Cursul 3)
D) Exemple de aplicații
A)
Limbajul de programare C este fundamentul lui C++, și de fapt C-ul este
baza a multor limbaje moderne, cum ar fi Java, JavaScript, Pearl, PHP, Python și
multe altele. Dezvoltat de către Dennis Ritchie și Brian Kerningham la Bell Labs in
1969, C-ul a fost destinat ca o alternativă pentru limbajul de asamblare pentru a crea
sisteme de operare, utilitare și alte coduri la nivel de sistem. C-ul este un limbaj mic,
cu doar 32 de cuvinte-cheie.
Dacă privim la nivelurile de tehnologie ale unui computer ca la o stivă, C-ul
este în mod curent folosit pentru a scrie cod la toate nivelurile, dar cel mai frecvent
e utilizat pentru nivelurile joase. Aproape tot ce este firmware, aproape toate
sistemele de operare moderne și o parte însemnată a softurilor de aplicații sunt scrise
în C.
Limbajul C++
C++, numit la început "C with classes" a fost dezvoltat în 1979-1980 de către
danezul Bjarne Stroustrup. Acesta a dus la îmbunatatirea C-ului prin adăugarea unor
noi facilități, printre care cea mai importantă a fost lucrul cu clase și obiecte, deci
paradigma de programare orientată pe obiecte (POO).
4
Dacă privim la nivelurile de tehnologie ale unui computer ca la o stivă, C++
este folosit pentru a scrie cod la toate nivelurile cu excepția firmware-ului, având
cea mai largă utilizare la nivelul aplicațiilor.
Astăzi un număr mare de aplicații pe scară medie și largă sunt scrise în C++. Lista
unor astfel de aplicații este foarte vastă, și include Microsoft Office, Adobe
Photoshop, Illustrater, FireFox, Google Chrome, sisteme de aprovizionare, service
și evidență a plăților pentru telefonie și internet, chiar și site-uri web renumite, ca
Amazon, Facebook și Google sunt scrise integral în C++ sau au resurse back-end
semnificative scrise în C++.
În mod sigur nu există dubii astăzi cu privire la faptul că societățile
funcționează cel mai bine atunci când:
controlul centralizat este menținut la un nivel minim;
inteligența este distribuită pe cât de mult posibil;
fiecare persoană este suficient de deșteaptă să înțeleagă pentru sine
însăși legile societății pentru binele comun;
structurile organizaționale de nivel mai înalt, adesea organizate în
formă de ierarhii, facilitează propagarea mesajelor de dezvoltare a
societății în susul și în josul ierarhiilor;
Programele mari orientate-obiect nu diferă de cele enunțate mai sus.
Un discurs cu privire la societăți este eficientizat dacă se grupează împreună
toate acele obiecte care au aceleași caracteristici. Ne-am putea referi atunci la aceste
grupuri ca fiind clase. De exemplu, toți oamenii implicați în sistemul educațional
vor trebui să aibe anumite atribute profesionale comune. Putem spune că acele
atribute comune definesc clasa domeniu educatie. Toate cadrele didactice
universitare – clasa cadre universitare fiind o subclasă a clasei domeniu educatie
– trebuie să posede atributele celor din clasa domeniu educatie, dar mai trebuie de
asemenea să posede atribute adiționale datorită specializării și formării lor în
domeniul în care activează.
5
Această analogie conduce direct la proiectarea de software bazat pe obiecte.
Toate obiectele care posedă aceleași atribute și manifestă aceleași
comportamente sunt grupate într-o singură clasă. De fapt, mai întâi se definește
clasa și doar după aceea se creează obiecte individuale printr-un proces numit
instanțierea unei clase. Toate obiectele care posedă atributele și comportamentele
unei clase definite anterior, care însă posedă în același timp atribute și
comportamente adiționale mai specializate, sunt reprezentate ca o subclasă a clasei
definite anterior.
Stilul de programare bazat pe obiecte duce la împărțirea aplicațiilor în mai
multe module, astfel încât cel ce dezvoltă un modul nu trebuie să cunoască detaliile
de implementare a altor module. Domeniul în care acest stil de programare s-a
dovedit cel mai util este dezvoltarea interfețelor utilizator și a aplicațiilor bazate pe
acestea.
Limbaje OO utilizate astăzi pe scară largă sunt foarte multe la număr,
începând cu C++, Objective-C, C#, Visual Basic.NET, VBA, VBScript, F#, Visual
FoxPro, Visual Prolog, Java, Perl începând cu versiunea 5, PHP5, Python, ABAP
ș.a
Limbajele de nivel înalt așa-numite structurate (de genul Basic, Pascal si C)
aduc o creștere substanțială a nivelului de abstractizare mai ales în exprimarea
operațiilor. Acestea sunt redate cu ajutorul structurilor de control (structuri liniare,
alternative și repetitive), iar "cărămizile" din care este construit un program sunt
subprogramele (funcțiile și procedurile). Structurile de date oferite de aceste limbaje
rămân însă destul de sărace pentru a acoperi complexitatea problemelor de rezolvat.
6
Figura. 3
7
Figura. 4.
Un obiect înglobează date și operații și reprezintă o abstracțiune a unei
entități din lumea reală.
Obiectele componente interacționează, iar rezultatul acestei interacțiuni o
reprezintă transformarea datelor de intrare în date de ieșire, adică rezolvarea
problemei.
CONCLUZII
Programarea orientată pe obiecte este o metoda de implementare în care
programele sunt organizate ca ansamble de obiecte ce interacționează unele cu
altele, fiecare obiect reprezentând instanța unei clase; fiecare clasă aparține
unei ierarhii în cadrul căreia clasele sunt legate prin relații de moștenire.
8
Aceasta definiție cuprinde trei părți importante, și anume:
obiectele și nu algoritmii sunt blocurile logice fundamentale;
fiecare obiect este o instanță a unei clase. Clasa este o descriere a unei
mulțimi de obiecte caracterizate prin structură și comportament
similare, iar prin instanță înțelegem o valoare particulară din mulțimea
respectivă.
clasele sunt legate între ele prin relații de moștenire.