Funcții inline. date și funcții statice. C++

Previzualizare curs:

Extras din curs:

Introducere

Modalităţile (tehnicile, paradigmele) de programare au evoluat de-a lungul anilor, reflectând trecerea de la programe de dimensiuni reduse, la programe şi aplicaţii de dimensiuni foarte mari, pentru coordonarea cărora sunt necesare tehnici evoluate.

Software-ul de dimensiuni mari, care nu poate fi realizat de o singură persoană , intră în categoria sistemelor complexe, cu o mare diversitate de aplicaţii. Situaţiile reale şi experiene ale psihologilor au relevat limitele capacităţii umane în perceperea sistemelor complexe, adică imposibilitatea unei persoane de a percepe şi controla simultan un număr mare de entităţi de informaţie. De aceea, este esenţială descompunerea şi organizarea sistemelor complexe, pentru a fi percepute, proiectate sau conduse.

Modul în care este abordată programarea, din punct de vedere al descompunerii programelor, defineşte mai multe tehnici de programare , care s-au dezvoltat şi au evoluat odată cu evoluţia sistemelor de calcul.

Programarea procedurală este prima modalitate de programare care a fost şi este încă frecvent folosită. În programarea procedurală accentul se pune pe descompunerea programului în proceduri (funcţii) care sunt apelate în ordinea de desfăşurare a algoritmului. Limbajele care suportă această tehnică de programare prevăd posibilităţi de transfer a argumentelor către funcţii şi de returnare a valorilor rezultate. Limbajul Fortran a fost primul limbaj de programare procedurală. Au urmat Algol60, Algol68, Pascal, iar C este unul din ultimele invenţii în acest domeniu.

Programarea modulară. În cursul evoluţiei programării procedurale, accentul în proiectarea programelor s-a deplasat de la proiectarea procedurilor către organizarea datelor, această deplasare reflectând creşterea dimensiunilor programelor. O mulţime de proceduri corelate, împreună cu datele pe care le manevrează , sunt organizate ca un modul. Tehnica de programare modulară decide descompunerea unui program în module, care încorporează o parte din datele programului şi funcţiile care le manevrează . Această tehnică este cunoscută ca tehnică de ascundere a datelor (data-hiding). În programarea modulară stilul de programare este în continuare procedural, iar datele şi procedurile sunt grupate în module, existând posibilitatea de ascundere a unor informaţii definite într-un modul, faţă de celelalte module. Gruparea de date şi proceduri în module nu implică şi o asociere strictă între acestea.

Programarea orientată pe obiecte apelează la o modalitate nouã de gândire a unei probleme. Spre deosebire de programarea proceduralã care se concentreazã pe structuri de date si algoritmi, programarea orientatã pe obiecte se concentreazã pe definirea de obiecte care modeleazã problema ce trebuie rezolvatã. În programarea orientatã pe obiecte (POO) un program are rolul de a simula stãrile si activitãtile obiectelor lumii reale. Pe lângã structuri de date (care descriu stãrile obiectelor, atributele acestora) trebuie incluse si metodele asociate obiectelor, adicã acele functii care modificã atributele obiectelor si care descriu comportamentul lor.

Concepte ale programării orientate pe obiecte

Conceptele programãrii orientate pe obiecte au apãrut din dezvoltãrile realizate în cadrul limbajelor moderne de programare. Astfel, limbajele orientate pe obiecte au noi structuri care îmbunãtãtesc întretinerea programului si fac ca porţiuni mari de program sã fie reutilizabile, conducând astfel la scãderea costului de dezvoltare a produselor software. Cele sase concepte de bazã ce caracterizeazã programarea orientatã pe obiecte sunt :

• Obiecte;

• Clase;

• Mesaje;

• Incapsularea;

• Polimorfismul;

• Moştenirea.

Un obiect poate fi considerat ca fiind o entitate care încorporeazã atât structuri de date (denumite atribute) cât si comportament (actiuni). Obiectele sunt inteligente prin faptul cã realizeazã anumite actiuni si “stiu” cum sã execute aceste actiuni. Inteligenta unui obiect reprezintã o formã de abstractizare prin faptul cã presupune cã un obiect poate executa o actiune si ascunde detaliile referitoare la modul în care se va realiza efectiv actiunea. Obiectele pot fi de tipuri diferite: entitãti fizice, algoritmi, relatii sau subsisteme. Practic, obiectele sunt componente de software reutilizabil care modeleazã elemente din lumea realã.

Clasele desemnează o colecţie de obiecte (de natură materială sau spirituală) care au în comun faptul căpot fi caracterizate similar din punct de vedere informational şi comportamental.

Obiectele pot comunica între ele prin intermediul mesajelor. Un mesaj este o cerere adresată unui obiect pentru a invoca una din metodele sale. Astfel, un mesaj conţine numele metodei şi argumentele metodei.

Încapsularea se referă la capacitatea de a separa aspectele externe ale unui obiect (interfaţa), accesibile altor obiecte, de aspectele implementaţionale, interne obiectului, care sunt ascunse faţă de celelalte obiecte. Utilizatorul unui obiect poate accesa doar anumite metode ale acestuia, numite publice, în timp ce atributele şi celelalte metode îi rămân inaccesibile (acestea se numesc private).

Download gratuit

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

Structură de fișiere:
  • Functii Inline. Date si Functii Statice. C++.docx
Alte informații:
Tipuri fișiere:
docx
Nota:
8/10 (1 voturi)
Nr fișiere:
1 fisier
Pagini (total):
17 pagini
Imagini extrase:
17 imagini
Nr cuvinte:
3 470 cuvinte
Nr caractere:
18 570 caractere
Marime:
38.08KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Curs
Domeniu:
Calculatoare
Predat:
la facultate
Materie:
Calculatoare
Profesorului:
Anfrei Florin
Sus!