Sunteți pe pagina 1din 1

INTRODUCERE Limbajele de programare ofer utilizatorului posibilitatea de a folosi, n programare, date de tipuri diferite (tipuri predefinite) cu dimensiuni variate.

Astfel de tipuri au predefinite att reprezentarea datelor ct i operaiile care se pot efectua asupra lor. n programare, pentru a simplifica utilizarea conceptelor care nu corespund direct tipurilor predefinite din limbajul considerat, s-a ajuns la ideea introducerii tipurilor de date definite de utilizator. Totui, exist mari diferene ntre tipurile predefinite i tipurile utilizator. Tipul definit de utilizator, de exemplu struct, definete doar reprezentarea datelor din tipul respectiv, iar utilizatorul trebuie s defineasc funcii pentru diferite operaii care se pot efectua cu astfel de date. De aceea, n evoluia limbajelor de programare, se are n vedere o ct mai mare apropiere n ceea ce privete modul de comportare al celor dou categorii de tipuri de date, prin: 1. stabilirea unei legturi dintre reprezentarea datelor i operaiile ce se pot efectua cu ele; 2. posibilitatea indicrii operaiilor cu date tip utilizator cu ajutorul operatorilor; 3. posibilitatea realizrii de conversii de la tipuri predefinite la tipuri utilizator i invers, precum i ntre diverse tipuri definite de utilizator (implicit / explicit); 4. realizarea iniializrii datelor de tip utilizator n momentul declarrii lor. Ideea legturii ntre reprezentarea datelor de tip utilizator i operaiile admise a se efectua cu ele se poate finaliza cu: a) includerea funciilor care definesc astfel de operaii n tipul respectiv (un struct extins); b) protejarea accesului la date. Avnd n vedere punctul (b), locul lui struct va fi luat de class. ntr-o clas, reprezentarea datelor constituie partea de implementare a tipului respectiv, iar setul de operaii admis, reprezint interfaa programului cu acel tip. n general, partea de implementare a unei clase trebuie s fie protejat, iar partea de interfa s fie public. Tipurile definite cu ajutorul claselor se mai numesc i tipuri abstracte de date, iar datele de tip abstract se numesc obiecte. Obiectele de acelai tip abstract se numesc instanieri ale clasei ce definete acel tip. Termenul de abstractizare a datelor se refer la procesul de definire a tipurilor abstracte de date, iar cel de programare orientat pe obiecte (OOP) implic definirea de tipuri abstracte de date. Motenirea i polimorfismul, elemente caracteristice unei astfel de programri, se refer la mijloacele de care se beneficiaz n ceea ce privete caracteristicele comune ale tipurilor abstracte de date. Trebuie reinut faptul c OOP constituie o metod de proiectare i implementare a programelor. Tehnica OOP ofer: - posibilitatea modularitii obiectelor i implementrii programului n uniti relativ independente care s fie uor de ntreinut i dezvoltat; - partajarea codului ntre obiecte folosind motenirea. Astfel de tehnici OOP sunt mai uor implementate apelnd la un limbaj de programare. Un astfel de limbaj este i limbajul C++ prezentat n aceast lucrare. Aplicaiile au fost executate n Borland C++ 4.52. Prezenta lucrare se adreseaz tuturor celor care doresc s foloseasc programarea orientat pe obiecte n activitatea lor de programare, beneficiind de tehnicile oferite de aceasta.

Autorul