Programare orientată pe obiecte

Curs
9.3/10 (3 voturi)
Conține 1 fișier: docx
Pagini : 19 în total
Cuvinte : 5035
Mărime: 80.82KB (arhivat)
Publicat de: Mitrofan Ardeleanu
Puncte necesare: 0

Extras din curs

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

Delegare

- principiu cheie al OOP, permite să grupăm un anumit funcţional într-un anumit element.

- Transmiterea responsabilităţilor către alte obiecte;

Chain of responsability

O aplicaţie OOP este structurată ca o comunitate de agenţi care interacţionează, numiţi obiecte. Fiecare obiect are un rol şi oferă un serviciu sau realizează o acţiune care este utilizată de alţi membri ai comunităţii.

O acţiune este iniţiată în aplicaţiile OOP prin transmiterea unui mesaj către un agent, responsabil de acţiune. Mesajul care reprezintă cererea la acţiune este acompaniat de altă informaţie adăugătoare, argumente, parametri, necesari pentru a realiza cererea.

Receptorul este obiectul care primeşte mesajul. Dacă receptorul acceptă mesajul, el acceptă responsabilitatea de a realiza această acţiune. Ca răspuns la mesaj, receptorul execută o metodă pentru a satisface cererea.

Tema: Paradigma POO. Abstracţii

Abstracţie - metodă/proces de eliminare a caracteristicilor numeroase unui obiect pentru a-l reduce la un set de caracteristici generale. În OOP, este unul din cele 3 principii centrale, pe lîngă incapsulare şi moştenire. În procesul de abstractizare, programatorul ascunde datele importante despre obiect pentru a reduce complexitatea şi a mări eficienţa.

Programarea orientata pe obiecte este o metoda de implementare in care programele sunt organizate ca ansamble de obiecte ce coopereaza intre ele, fiecare obiect reprezentand instanta unei clase; fiecare clasa apartine unei ierarhii de clase in cadrul careia clasele sunt legate prin relatii de mostenire.

Aceasta definitie cuprinde trei parti importante, si anume:

- obiectele si nu algoritmii sunt blocurile logice fundamentale;

- fiecare obiect este o instanta a unei clase. Clasa este o descriere a unei multimi de obiecte caracterizate prin structura si comportament similare.

- clasele sunt legate intre ele prin relatii de mostenire.

Principii:

1. Totul este obiect;

2. Obiectele interacţionează prin transmiterea şi primirea mesajelor;

3. Fiecare obiect îşi are memoria proprie;

4. Fiecare obiect aparţine unui grup de obiecte - clasă;

5. Clasa defineşte comportamentul comun tuturor obiectelor - exemplalelor sale;

6. Clasele se organizează într-o structură arborescentă cu o rădăcină comună, asigurîndu-se „Transferul” de comportament de la clasele superioare claselor inferioare din ierarhia de moştenire.

7. Obiectele trebuie să fie private, metodele, publice.

Diag. de stări o facem doar pentru clase!

Modularizarea - este o tehnică de design software ce presupune separarea funcţionalului unui program independent în module, fiecare modul conţinînd cele necesare pentru a executa funcţionalitatea de sinestătătoare a acestuia.

Modul - element de grupare a altor elemente şi face parte dintr-un sistem. Modulele sunt dezvoltate în aşa fel încît să minimizeze dependenţele între ele. Dezvoltatorii pot crea modulele separat fără a cunoaşte celelalte module ale sistemului.

Componentă -

Principiile lui Parnas:

1. Scopul descompunerii în module este reducerea costrurilor prin posibilitatea de a proiecte şi revizui modulele în mod independent;

2. Modularizarea constă în divizarea programului într-un nr. de subunităţi care pot fi compilate separat, dar care sunt cuplate (conectate) între ele

- Gradul de cuplaj între module trebuie să fie mic;

- Clasele care compun un modul trebuie să aibă legături strînse între ele;

3. Încapsularea şi modularizarea reprezintă procese similare, dar care se desfăşoară la nivele diferite de abstractizare.

Low coupling (legătura slabă) - concept prin care clasele de pe diferite nievele trebuie să interacţioneze marginal. Schimbarea conţinutului unei clase nu trebuie să afecteze o altă clasă din acelaşi modul.

High conesion - presupune că o clasă trebuie să fie orientată spre realizarea unui singur lucru, şi nu mai multe odată.

Facade - este un obiect ce oferă o interfaţă simplificată pentru o bucată mare de cod, cum ar fi o librărie de clase.

Dezavantajele POO:

1. Documentarea este un proces mai dificil,

2. In structuri cu multe nivele de ierarhizare, uneori este foarte greu de urmarit, de la care clasa vine o anumita proprietate.

3. Utilizarea mai putin eficienta a memoriei:

- Referinta obiect + referinta tip

- Deseori unele obiecte au definite in cod metode pe care nu le ut.

Moştenirea este o proprietate a claselor ce permite transmiterea parametrilor de la o clasă la alta.

Signatura - numele funcţiei şi tipul parametrilor;

Una dintre problemele ce necesită atenţie, este găsirea nivelului corect de abstractizare la etapa iniţială de dezvoltare a soft-urilor. Una dintre greşelile tipice este acordarea atenţiei sporite asupra detaliilor de implementare (tehnologice) şi nu asupra structurii organizaţionale care ar pune accentul pe separarea responsabilităţilor.

Preview document

Programare orientată pe obiecte - Pagina 1
Programare orientată pe obiecte - Pagina 2
Programare orientată pe obiecte - Pagina 3
Programare orientată pe obiecte - Pagina 4
Programare orientată pe obiecte - Pagina 5
Programare orientată pe obiecte - Pagina 6
Programare orientată pe obiecte - Pagina 7
Programare orientată pe obiecte - Pagina 8
Programare orientată pe obiecte - Pagina 9
Programare orientată pe obiecte - Pagina 10
Programare orientată pe obiecte - Pagina 11
Programare orientată pe obiecte - Pagina 12
Programare orientată pe obiecte - Pagina 13
Programare orientată pe obiecte - Pagina 14
Programare orientată pe obiecte - Pagina 15
Programare orientată pe obiecte - Pagina 16
Programare orientată pe obiecte - Pagina 17
Programare orientată pe obiecte - Pagina 18
Programare orientată pe obiecte - Pagina 19

Conținut arhivă zip

  • Programare orientata pe obiecte.docx

Alții au mai descărcat și

Rețele de calculatoare

Capitolul 1. Rezumatul proiectului În acest proiect voi folosi un serviciu de virtualizare numit Docker pentru a rula diferite servicii....

Recunoașterea păsărilor din înregistrări audio

Scopul acestui proiect este de a crea un dispozitiv care identifică sunetele păsărilor din înregistrări audio. Scopul acestui proiect este de a...

Proiectarea filtrelor numerice FN-FIR

Un filtru digital sau numeric este un sistem discret care scaleaza si/sau defazeaza in mod selectiv componentele spectrale ale semnalului discret...

Practică în informatică - BeTheOne

Prezentarea companiei S.C. BeTheOne S.R.L. este o societate cu scop lucrativ înfiinţată în anul 2000, dorința de a te exprima și nevoia de a-ți...

Metode de estimare a vectorilor de mișcare

1. Introducere "O secvență video este o succesiune de imagini digitale (scene statice) care se redau în timp succesiv la un interval de redare...

Analiza circuitelor electronice dat în domeniul frecvență

Circuitele electronice sunt circuite electrice, ce constau din elemente pasive (R, L,C, etc.), care conțin și elemente și component electronice (...

Sisteme de achiziții și interfețe

1. Semnale analogice si numerice(digitale) În domeniul telecomunicațiilor, procesării semnalelor, sau mai general în electricitate și electronică,...

An efficient telecommunications network is the foundation upon which an information society is builtt

The functioning of any society depends upon information, and the efficient and effective communication of it among society's members. Information...

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

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

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?