-
Referate
- Agricultura
- Alimentatie publica
- Alte teme
- Asistenta sociala
- Astrologie
- Astronomie
- BAC / Capacitate
- Biografii
- Biologie
- Chimie
- Confectii
- Contabilitate
- Desen / Arte
- Domeniul - Militar
- Drept
- Ecologie
- Economie
- Engleza
- Esee
- Facultate
- Filozofie
- Fizica
- Franceza
- Geo. Economica
- Geografie
- Germana
- Informatica
- Istorie
- Jurnalism
- Lucrari
- Management
- Marketing
- Mass-Media
- Matematica
- Mecanica Auto
- Medicina
- Muzica
- Opere / Povesti
- Pedagogie
- Psihologie
- Religie
- Romana
- Sexologie
- Stiinte politice
- Tehnologie
- Turism
INITIERE IN PROGRAMAREA ORIENTATA PE OBIECTE
Descriere referat
Varianta 1
int x,y,z;
void translat (int tx, int ty, int tz)
{ x+=tx;
y+=ty;
z+=tz;
}
Varianta 2 - Structuri
struct coord_3D
{ int x,y,z;
};
void translat (struct coord_3D *punct, int tx, int ty, int tz)
{ (*punct).x+=tx;
(*punct).y+=ty;
(*punct).z+=tz;
}
Varianta 3 - Clase
class coord_3D
{ private:
int x,y,z;
public:
void translat (int tx, int ty, int tz)
{
x+=tx;
y+=ty;
z+=tz;
}
};
• privată - informaţii pentru implementarea clasei, invizibile utilizatorului clasei
• publică - interfaţa dintre clasă şi utilizator
Membrii clasei
(variabilele şi funcţiile declarate în interiorul clasei)
• privaţi - pot fi accesaţi doar de către funcţiile clasei
• publici - pot fi folosiţi oriunde în program
Prototipurile funcţiilor
În cadrul declaraţiei clasei pot apare numai prototipurile funcţiilor membre.
Exemplu:
class coord_3D // declararea clasei “coord_3D”
{ private:
int x,y,z; //declarare variabile membru
public:
void translat (int tx, int ty, int tz); //declarare funcţie membru
};
//definirea funcţiei membru
void coord_3D::translat (int tx, int ty, int tz)
{ x+=tx;
y+=ty;
z+=tz;
}
Declararea obiectelor
• Clasele sunt privite ca orice alt tip de date predefinit.
// Exemple de declaraţii
coordonate_3D p1, p2, p3; //declarare a 3 obiecte
coordonate_3D *ptr; //declarare pointer la obiect
coordonate_3D sir[20]; //declarare şir de 20 obiecte
coordonate_3D *formeaza (int, int, int);
coordonate_3D *aduna (coordonate_3D, coordonate_3D);
// Exemple de instrucţiuni
p1=p2;
ptr=sir; //ptr indică sir[0]
ptr=aduna(p2, p3);
ptr=formeaza (100, 200, 300);
Funcţii şi clase prietene
Funcţii friend - nu sunt membre ale clasei, dar au acces la membrii privaţi ai acesteia.
- funcţii independente
- funcţii membre ale altei clase
- operatori redefiniţi
Clase friend - toate funcţiile membre ale clasei sunt prietene cu cealaltă clasă
Funcţie friend independentă
class pozitie
{ int x,y; //coordonate
public:
pozitie (int abs, int ord); //constructor
~pozitie (); //destructor
void deplasare (int dx, int dy); //funcţie membru
friend int coincid (pozitie &, pozitie &); //funcţie prietenă
};
//definirea funcţiei independente
int coincid (pozitie &p1, pozitie &p2)
{ if (p1.x==p2.x && p1.y==p2.y) return 1
else return 0;
}
Funcţie friend membră a altei clase
class B; //declaraţie incompletă
class M
{ public:
int f2(B &, int);
};
class B //declaraţie completă
{ int a;
int f();
public:
friend int M::f2(B &, int); //functie prietena membra a clasei M
};
int M::f2 (B & rB, int j=0) // functie prietena membra a clasei M
{ if (rB.a>7) return j;
Accesarea membrilor unei clase
• Accesarea unei variabile din exteriorul clasei
NumeObiect.Variabilă
PointerObiect®Variabilă
• Accesarea unei funcţii din exteriorul clasei
NumeObiect.NumeFuncţie (listă parametri)
PointerObiect®NumeFuncţie (listă parametri)
În interiorul clasei, variabilele şi funcţiile membre pot fi accesate direct.
Exemplu de accesare a membrilor unei clase
class ex
{ int num;
public:
void init (int nr=0);
void aduna (ex&.Ob, ex *pOb);
};
void ex::init (int nr)
{ num=nr;
}
void ex::aduna (ex& Ob, ex *pOb)
{
num=num+Ob.num+pOb®num;
}
void main ()
{ exemplu ob1, ob2, ob3;
ob1.init ();
ob2.init (3);
ob3.init (4);
ob1.num=6; /* EROARE: ob1.aduna (ob2, &ob3)
}
Descarca referat
- Adaugat de carticica_ta
- 6 descarcari
- 234 afisari
Referatul Initiere in programarea orientata pe obiecte - informatica pe care doriti sa-l downloadati nu este gratuit. Alegeti una din modalitatile de plata de mai sus pentru a primi codul pentru descarcarea referatului.
Va rugam sa introduceti o adresa de mail valida. Referatul cumparat va fi trimis si la adresa de mail pe care o veti spefica, descarcarea acestuia incepund in momentul in care dati click pe butonul 'descarca', dupa ce ati completat toate datele necesare.
