notiuni de programare obiectuala - Informatica aplicata si ...
notiuni de programare obiectuala - Informatica aplicata si ...
notiuni de programare obiectuala - Informatica aplicata si ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
20Visual C++. Programarea Interfeţelor UtilizatorÎn exemplul nostru, este evi<strong>de</strong>nt că va trebui să <strong>de</strong>clarăm o clasă care să conţină castructură <strong>de</strong> date două valori întregi. Deoarece ordonata poate fi doar pozitivă, ea nutrebuie să poată fi accesată direct din program, ci doar prin intermediul unei meto<strong>de</strong>care să îi atribuie o valoare, dar numai pozitivă. Deci, va trebui să o <strong>de</strong>clarăm camembru privat. Cum ordonata nu poate fi accesată direct din program, va trebui săadăugăm clasei şi meto<strong>de</strong> care să permită citirea şi introducerea valorii ei.Uzual, <strong>de</strong>clararea unei clase se face într-un fişier hea<strong>de</strong>r. Nu este obligatoriu, dar osă ve<strong>de</strong>m în capitolele următoare că acest mod <strong>de</strong> implementare a programului duce lao mai mare claritate a programului, în special când acesta conţine un număr mare <strong>de</strong>clase.Acestea fiind spuse, să ne facem curaj şi să <strong>de</strong>clarăm prima noastră clasă. Pentruaceasta, vom <strong>de</strong>schi<strong>de</strong> un proiect nou, <strong>de</strong> tip Win32 Console Application. Hai<strong>de</strong>ţi să-lnumim Prima_Clasa. Acestui proiect îi vom adăuga in fişierul hea<strong>de</strong>r Prima_Clasa.h,în care vom <strong>de</strong>clara clasa astfel:// fişierul Prima_Clasa.hclass punct_plan{int coordy;public:int coordx;void setcoordy(int cy){coordy=abs(cy);};int getcoordy() {return coordy;};};Am <strong>de</strong>clarat astfel o clasă pe care o vom utiliza în continuare. Se poate observa căvariabila coordy este privată, <strong>de</strong>ci va putea fi accesată în afara clasei, doar prinintermediul meto<strong>de</strong>lor puse la dispoziţie <strong>de</strong> clasă. În cadrul meto<strong>de</strong>lor, <strong>de</strong>ci dininteriorul clasei, variabila poate fi accesată în mod direct.Va trebui acum să <strong>de</strong>clarăm nişte “variabile” <strong>de</strong> tipul clasei. O astfel <strong>de</strong> variabilăpoartă <strong>de</strong>numirea <strong>de</strong> obiect şi reprezintă în fapt o instanţiere (concretizare) a claseirespective. Putem da acum şi o <strong>de</strong>finiţie pentru clasă:Definiţia 1.1: O clasă este un tip <strong>de</strong> date care <strong>de</strong>scrie un ansamblu <strong>de</strong> obiecte cuaceeaşi structură şi acelaşi comportament.Obiectele <strong>de</strong> tipul clasei, le vom <strong>de</strong>clara în fişierul sursă Prima_Clasa.cpp, pe careîl vom adăuga proiectului (Aţi uitat cum? Simplu: File->New->C++ Source File), încare vom scrie instrucţiunile <strong>de</strong> mai jos:// fişierul Prima_Clasa.cpp#inclu<strong>de</strong> #inclu<strong>de</strong> #inclu<strong>de</strong> "Prima_Clasa.h"void main(){punct_plan punct, *ppunct;int valy;cout