Programare orientată pe obiecte

Extras din curs:

Paradigme de programare

Paradigme de programare = un set de concepte, modele si practici care descriu esenta programarii

Programare structurata (functionala) = un program este conceput pe baza unei secvente de functii, fara a avea o stare

Programare orientata obiect = programele sunt vazute ca fiind niste colectii de obiecte care interactioneaza unele cu altele

Programarea structurată

Programarea structurată - caracteristici:

se bazează pe descompunerea funcţională şi abordarea top-down (de sus în jos)

este focalizată aproape în întregime pe producerea de instrucţiuni (porţiuni de cod) necesare rezolvării unei anumite probleme; proiectarea structurilor de date nu reprezintă o prioritate în această abordare

funcţiile care manipulează aceleaşi structuri de date pot diferi ca şi convenţii de numire, listă de parametri, etc. făcînd dificilă utilizarea acestora iar codul astfel rezultat este greu de înţeles existînd de multe ori porţiuni semnificative de cod duplicat

codul rezultat este difícil de reutilizat în alte proiecte: datorită faptului că proiectarea începe pornind de la o problemă concretă dată, divizînd-o în părţi componente, tendinţa este aceea de a rezulta cod specific acelei probleme particulare

extinderea ulterioară a aplicaţiilor este dificilă

Programarea orientata pe obiecte

Programarea orientata pe obiecte =.> reprezinta o tehnica de programare alternativă la programarea structurată care se bazează pe conceptul modular de obiect. Un obiect este un fascicul de informaţie care modelează un concept de nivel înalt din domeniul problemei pe care o implementeză.

abordare bottom-up (de sus in jos)

programarea orientată pe obiecte, avînd la bază conceptul de obiect şi conceptele fundamentale de încapsulare, moştenire şi polimorfism, prezintă următoarele avantaje :

paradigma transmiterii de mesaje între obiecte, caracteristică programării orientate pe obiecte furnizează o sintaxă clară şi consistentă pentru manipularea obiectelor;

obiectele sunt prevăzute cu un set complet de funcţii necesare şi suficiente pentru manipularea acestora

încapsularea previne accesul neautorizat şi necontrolat asupra datelor

moştenirea permite definirea de noi structuri de date pe baza altora existente, reutilizînd codul existent (şi testat)

Obiecte

obiectul = reprezinta o componenta software care incorporeaza atit atribute cit si operatii (metode) care pot fi utilizate pentru manipularea obiectului (obiectelor)

paradigma schimbarii de mesaje intre obiecte furnizeaza o sintaxa consistenta pentru manipularea obiectelor => dezvoltare bazata pe responsabilitati (responsibility-guided development

obiectul = reflecta concetele domeniului in cod

reprezinta conceptele constructive de baza ale sistemelor software

un program consta dintr-o colectie de obiecte care interactioneaza unele cu altele

obiectele coopereaza pentru realizarea unei anumite functionalitati prin transmiterea de “mesaje” unele catre altele

sunt caracterizate de:

capabilitati (functionalitate): ce pot sa faca

proprietati: descriu starea obiectului

Clase

conceptul de clasa – class – este utilizat pentru a descrie un set de obiecte individuale la nivel abstract

clasa descrie proprietatile si capabilitatile comune a setului de obiecte

defineste un cadru (template) pentru crearea de instante

Clase si obiecte

clasele reprezintǎ elementele constructive de bazǎ ale programelor dezvoltate în tehnologie obiectualǎ.

obiectele cu care programul lucreaza sunt concepute pe baza claselor definite în cadrul acestuia.

obiectul reprezinta entitatea fundamentala in POO: un obiect inglobeaza o abstractizare; un obiect in POO incapsuleaza atit o stare cit si o functionalitate.

obiectele reprezinta entitatile de baza ale unei aplicatii orientate pe obiecte

programarea orientata pe obiecte poate fi văzuta ca o schimbare continua de mesaje intre obiecte.

obiectul, in sine, este vazut ca o masina abstracta capabila sa raspunda acestor mesaje: totalitatea mesajelor la care este capabil sa raspunda un obiect este data de multimea metodelor asociate obiectului respectiv.

clasa (class), serveste la descrierea, la nivel abstract, a comportarii obiectelor care fac parte din acea clasa. Obiectele sunt numite instantieri sau instanţe ale acelei clase.

Concepte fundamentale

Incapsularea = previne accesul neautorizat asupra datelor => ascunderea informatiei => mentenanta mai simpla

Mostenirea = permite definirea de noi structuri de date pe baza celor existente, prin adaugarea de noi caracteristici si facilitati => promoveaza reutilizarea codului

Polimorfismul = permite crearea de programe mult mai generale => promoveaza reutilizarea codului => utilizarea componentelor software in alte proiecte, cu impact semnificativ asupra costurilor si costurilor de dezvoltare ale aplicatiei

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • folie_curs_POO_08_9_format97_2003.ppt
  • folie_POO_curs_01.ppt
  • folie_POO_curs_02.ppt
  • folie_POO_curs_03.ppt
  • folie_POO_curs_04.ppt
  • folie_POO_curs_05.ppt
  • folie_POO_curs_06.ppt
  • folie_POO_curs_07_format97_2003.ppt
  • folie_POO_curs_10_11_format_97_2003.ppt
Alte informații:
Tipuri fișiere:
ppt
Nota:
9/10 (1 voturi)
Nr fișiere:
9 fisiere
Pagini (total):
207 pagini
Marime:
998.43KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Curs
Domeniu:
Calculatoare
Predat:
la facultate
Materie:
Calculatoare
Sus!