Laboratoare programarea orientată pe obiecte

Laborator
8/10 (1 vot)
Domeniu: Calculatoare
Conține 4 fișiere: docx
Pagini : 55 în total
Cuvinte : 8766
Mărime: 1.24MB (arhivat)
Publicat de: Todor Petre
Puncte necesare: 0
Profesor îndrumător / Prezentat Profesorului: Scrob Sergiu

Extras din laborator

1. Obiective

- Formarea unei imagini generale, preliminare, despre programarea orientată pe obiecte (POO) și deprinderea cu noile facilitați oferite de limbajul C++.

- Studierea principalelor concepte (caracteristici) ale POO.

- Crearea unei aplicații de tip consolă în limbajul de programare C++.

2. Sarcina lucrării

Să se creeze clasa Group - grupa, care conține informația despre codul grupei, specialitatea, numărul de studenți, curatorul grupei și anul de studii. Să se utilizeze memoria dinamică pentru setarea cîmpurilor textuale. Să se definească: toate tipurile de constructori; funcțiile de schimbare a curatorului și a numărului de studenți. Să se definească funcția de setare a anului de studii în așa fel, încît valoarea acestui cîmp să poată fi mărită și să nu depășească cifra 5.

3. Teoria

Programarea orientată pe obiecte (POO, uneori și Programarea orientată obiect, uneori denumită ca și în limba engleză, Object Oriented Programming (OOP)) este o paradigmă de programare, axată pe ideea încapsulării, adică grupării datelor și codului care operează asupra lor, într-o singură structură. Un alt concept important asociat programării orientate obiect este polimorfismul, care permite abstractizări ce permit o descriere conceptuală mai simplă a soluției.

Principiile de bază sunt:

- Abstractizarea - Este posibilitatea ca un program să ignore unele aspecte ale informației pe care o manipulează, adică posibilitatea de a se concentra asupra esențialului. Fiecare obiect în sistem are rolul unui “actor” abstract, care poate executa acțiuni, își poate modifica și comunica starea și poate comunica cu alte obiecte din sistem fără a dezvălui cum au fost implementate acele facilitați. Procesele, funcțiile sau metodele pot fi de asemenea abstracte, și în acest caz sunt necesare o varietate de tehnici pentru a extinde abstractizarea:

- Încapsularea - numită și ascunderea de informații: Asigură faptul că obiectele nu pot schimba starea internă a altor obiecte în mod direct (ci doar prin metode puse la dispoziție de obiectul respectiv); doar metodele proprii ale obiectului pot accesa starea acestuia. Fiecare tip de obiect expune o interfață pentru celelalte obiecte care specifică modul cum acele obiecte pot interacționa cu el.

- Polimorfismul - Este abilitatea de a procesa obiectele în mod diferit, în funcție de tipul sau de clasa lor. Mai exact, este abilitatea de a redefini metode pentru clasele derivate. De exemplu pentru o clasă Figura putem defini o metodă arie. Dacă Cerc, Dreptunghi, etc. ce vor extinde clasa Figura, acestea pot redefini metoda arie.

- Moștenirea - Organizează și facilitează polimorfismul și încapsularea, permițând definirea și crearea unor clase specializate plecând de la clase (generale) deja definite - acestea pot împărtăși (și extinde) comportamentul lor, fără a fi nevoie de a-l redefini. Aceasta se face de obicei prin gruparea obiectelor în clase și prin definirea de clase ca extinderi ale unor clase existente. Conceptul de moștenire permite construirea unor clase noi, care păstrează caracteristicile și comportarea, deci datele și funcțiile membru, de la una sau mai multe clase definite anterior, numite clase de bază, fiind posibilă redefinirea sau adăugarea unor date și funcții noi. Se utilizează ideea: ”Anumite obiecte sunt similare, dar în același timp diferite”. O clasă moștenitoare a uneia sau mai multor clase de bază se numește clasă derivată. Esența moștenirii constă în posibilitatea refolosirii lucrurilor care funcționează.

4. Întrebări

1. Explicați termenul de inițializare.

Crearea unui clase cu scopul de a manipula datele.

2. Ce este încapsularea?

Incapsularea nu reprezinta altceva decat proprietatea claselor de obiecte de a grupa sub aceeasi structura datele si metodele aplicabile asupra datelor. In sensul programarii orientata pe obiecte, incapsularea defineste, de asemenea, modalitatea in care diversele obiecte si restul programului se pot referi la datele specifice obiectelor. Dupa cum s-a precizat clasele din C++ permit separarea datelor in date private si date publice. Programele utilizatorilor pot accesa si utiliza datele unui obiect, declarate private, numai prin utilizarea unor metode definite public. Separarea datelor in sectiuni de date publice si private datermina protejarea datelor fata de utilizarea lor eronata in programe.

3. Ce cuvinte cheie se utilizează pentru definirea constructorului și a destructorului?

Constructorul se defineste utilizind doar denumirea clasei, iar destructorului la definire se adauga simbolul ~ (tilda).

4. Poate oare un constructor să returneze o valoare?

Constructorul nu returneaza nici o valoare fiindca participa la initializare.

5. Pot oare să existe clase fără constructori?

Da. La asa tip de clase se foloseste constructorul implicit.

6. Cîți constructori poate conține o clasă? Dar destructori? De ce?

O clasa poate contine un numar nelimitat de constructori, iar destructor doar unul.

7. Enumerați tipurile de constructori?

Constructorul implicit, cu un parametru, cu mai multi parametri, de conversie si cel de copiere.

8. Cum se apelează un constructor?

Apelarea unu contructor are loc la instantierea unei classe

Den_clasei var_clasei (parametri)

9. De ce este nevoie de definit un constructor de copiere?

Pentru a putea copia obiectele clasei, si a manipula mai comod cu datele.

10. De ce este nevoie de definit un constructor de conversie a tipului?

Un astfel de constructor este binevenit la supraincarcarea operatorilor, si la conversiile dintr-un tip in altul.

Preview document

Laboratoare programarea orientată pe obiecte - Pagina 1
Laboratoare programarea orientată pe obiecte - Pagina 2
Laboratoare programarea orientată pe obiecte - Pagina 3
Laboratoare programarea orientată pe obiecte - Pagina 4
Laboratoare programarea orientată pe obiecte - Pagina 5
Laboratoare programarea orientată pe obiecte - Pagina 6
Laboratoare programarea orientată pe obiecte - Pagina 7
Laboratoare programarea orientată pe obiecte - Pagina 8
Laboratoare programarea orientată pe obiecte - Pagina 9
Laboratoare programarea orientată pe obiecte - Pagina 10
Laboratoare programarea orientată pe obiecte - Pagina 11
Laboratoare programarea orientată pe obiecte - Pagina 12
Laboratoare programarea orientată pe obiecte - Pagina 13
Laboratoare programarea orientată pe obiecte - Pagina 14
Laboratoare programarea orientată pe obiecte - Pagina 15
Laboratoare programarea orientată pe obiecte - Pagina 16
Laboratoare programarea orientată pe obiecte - Pagina 17
Laboratoare programarea orientată pe obiecte - Pagina 18
Laboratoare programarea orientată pe obiecte - Pagina 19
Laboratoare programarea orientată pe obiecte - Pagina 20
Laboratoare programarea orientată pe obiecte - Pagina 21
Laboratoare programarea orientată pe obiecte - Pagina 22
Laboratoare programarea orientată pe obiecte - Pagina 23
Laboratoare programarea orientată pe obiecte - Pagina 24
Laboratoare programarea orientată pe obiecte - Pagina 25
Laboratoare programarea orientată pe obiecte - Pagina 26
Laboratoare programarea orientată pe obiecte - Pagina 27
Laboratoare programarea orientată pe obiecte - Pagina 28
Laboratoare programarea orientată pe obiecte - Pagina 29
Laboratoare programarea orientată pe obiecte - Pagina 30
Laboratoare programarea orientată pe obiecte - Pagina 31
Laboratoare programarea orientată pe obiecte - Pagina 32
Laboratoare programarea orientată pe obiecte - Pagina 33
Laboratoare programarea orientată pe obiecte - Pagina 34
Laboratoare programarea orientată pe obiecte - Pagina 35
Laboratoare programarea orientată pe obiecte - Pagina 36
Laboratoare programarea orientată pe obiecte - Pagina 37
Laboratoare programarea orientată pe obiecte - Pagina 38
Laboratoare programarea orientată pe obiecte - Pagina 39
Laboratoare programarea orientată pe obiecte - Pagina 40
Laboratoare programarea orientată pe obiecte - Pagina 41
Laboratoare programarea orientată pe obiecte - Pagina 42
Laboratoare programarea orientată pe obiecte - Pagina 43
Laboratoare programarea orientată pe obiecte - Pagina 44
Laboratoare programarea orientată pe obiecte - Pagina 45
Laboratoare programarea orientată pe obiecte - Pagina 46
Laboratoare programarea orientată pe obiecte - Pagina 47
Laboratoare programarea orientată pe obiecte - Pagina 48
Laboratoare programarea orientată pe obiecte - Pagina 49
Laboratoare programarea orientată pe obiecte - Pagina 50
Laboratoare programarea orientată pe obiecte - Pagina 51
Laboratoare programarea orientată pe obiecte - Pagina 52
Laboratoare programarea orientată pe obiecte - Pagina 53
Laboratoare programarea orientată pe obiecte - Pagina 54
Laboratoare programarea orientată pe obiecte - Pagina 55

Conținut arhivă zip

  • Lucrare de laborator nr.1.docx
  • Lucrare de laborator nr.2.docx
  • Lucrare de laborator nr.3.docx
  • Lucrare de laborator nr.4.docx

Alții au mai descărcat și

Arhitectura calculatoarelor

Scopul lucrării a) Elemente de limbaj de asamblare. b) Instructiuni de transfer. c) Instructiuni aritmetice. Desfășurarea lucrării...

Ce este un site wiki

Deschizând site-ul http://webtools4u2use.wikispaces.com/Wikis și verificând categoriile ce pot fi folosite într-o lecție pentru a alege un...

Seminar 4 Python

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

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

Baze de Date

Am ales ca tema crearea unei baze de date pentru un liceu, acesta va include cinci tabele: Profesori, Clase, Elevi, Note si Prezente. Tabela...

Blockchain tutorial

Blockchain consists of blocks of data connected through the use of cryptography. It belongs to a network of nodes connected over the public...

Inițiere în limbajul de programare VBA (Visual Basic for Applications)

Sarcina lucrării: Sarcina lucrării este de a face cunoștință cu limbajul de programare Visual Basic for Applications (VBA) și mediul de dezvoltare...

Mentenanța echipamentelor periferice

TEMA 1 Norme și reguli ergonomice cu privire la protecția muncii în activitățile de asamblare și depănare a calculatoarelor personale. Ergonomia...

Te-ar putea interesa și

Gentie de Voiaj în C++

2. Descrierea proiectului Proiectul se numeste “Agentie De Voiaj” şi este un program ce implementeaza comezile unei agenti de voiaj: introducere...

Legătura dintre C și C#

Legatura dintre C si C# Merita sa facem un studiu despre istoria C-ului, deoarece va dezvalui filozofia de succes a modelului limbajului de...

Structuri de Date și Algoritmi

1 Tema:Implimentarea tipului abstract de date.Tabloul de structuri. 2 Sarcina:De implimentat tipul abstract de date,tablou de structuri si de...

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

Baze de Date

STRUCTURA CURSULUI : I. Fundamentele bazelor de date 3 cursuri II. Prezentarea SGBD – uluiVisual Foxpro. III. Prezentarea unui SGBD –ului...

Sisteme cu Evenimente Discrete

1. Descrierea logică a functionării sistemelor cu evenimente discrete 1.1 Consideratii teoretice Sistemele cu evenimente discrete (SED) se...

Introducere în Limbajul Java

Programare Orientată pe Obiecte 1.Introducere în limbajul Java Java ca limbaj şi mediu de programare a fost lansat de firma Sun Microsystems. Cea...

Ai nevoie de altceva?