Tutorial POO (Programare orientata pe obiecte)/C++
:: Tutoriale
Pagina 1 din 1
Tutorial POO (Programare orientata pe obiecte)/C++
Clase
Clasa este un tip de date definit de catre utilizator, dar care se comporta intocmai ca un tip predefinit.
Instantierea unei clase "CLASA" (sau un OBIECT) este o variabila declarata ca fiind de tipul "CLASA".
Variabila membru este o variabila declarata in cadrul unei clase.
O metoda este o functie declarata (sau definita) in cadrul unei clase, si care poate accesa toate variabilele declarate in cadrul clasei. Metodele se mai numesc si "FUNCTII MEMBRU".
Prin MEMBRII unei clase vom intelege totalitatea metodelor si variabilelor membru unei clase.
O sintaxa mult simplificata a unei clase arata astfel:
- Cod:
class Nume_clasa
{
[ [ private : ] Lista_membri_1 ]
[ [ public : ] Lista_membri_2 ]
Descrierea propriu-zisa a clasei consta in cele doua liste de membri, prefixate eventual de cuvintele cheie "private" si "public".
In caz ca listele de membri exista, ele pot contine orice tipuri de declaratii si definitii de date si functii. Toate acestea vor constitui MEMBRII clasei.
Cuvintele cheie "private" si "public" impart clasa in doua sectiuni: una privata si una publica. Sa vedem care este rolul fiecareia dintre cele doua sectiuni:
- public: membrii apartinand acestei sectiuni pot fi accesati de catre utilizator din orice punct al domeniului de existenta al respectivei clase.
- private: membrii apartinand acestei sectiuni (atat date cat si functii) nu pot fi accesati DECAT de catre metodele clasei respective. Utilizatorul clasei nu va avea acces la ei decat prin intermediul metodelor publice.
Incapsularea in C++ are la baza doua idei:
a. cu ajutorul claselor se vor lega structuri de date si functiile destinate manipulatorilor;
b. sectiunile private si publice fac posibila separarea mecanismului intern de interfata cu utilizatorul.
O sintaxa a claselor mai apropiata de cea reala este urmatoarea:
- Cod:
Specificator_clasa Nume_clasa
{
[ [ private : ] Lista_membri_1 ]
[ [ public : ] Lista_membri_2 ]
};
Diferenta este ca a fost inlocuit cuvantul cheie "class" cu "Specificator_clasa" care poate fi: "class", "struct" sau "union". Ultimele doua descriu structuri de date avand aceleasi proprietati ca si in limbajul C neobectual, cu doua modificari:
a. li se pot atasa functii membru;
b. pot fi compuse din doua sectiuni (una publica si una privata).
DIFERENTA intre "class" si "struct" consta in faptu ca, daca lipsesc specificatorii "public" si "private" toti membrii lui "class" vor fi IMPLICIT privati, iar cei ai lui "struct" publici. Si in cazul specificatorului "union", implicit, membrii vor fi de tip public.
Cele spuse pana acum sunt descrise in secventele de mai jos:
- Cod:
struct i1 {
int a;
double b;
float c (void);
// a, b, c() sunt IMPLICIT publici
};
union i2 {
int a;
double b;
float c (void);
// a, b, c() sunt IMPLICIT publici
};
class i3 {
int a;
double b;
float c (void);
// a, b, c() sunt IMPLICIT privati };
Vizitato- Vizitator
Subiecte similare
» tutorial smudge
» TuTorial Creare torrent!
» Tutorial semnatura
» Tutorial glow effect
» tutorial Matrix text
» TuTorial Creare torrent!
» Tutorial semnatura
» Tutorial glow effect
» tutorial Matrix text
:: Tutoriale
Pagina 1 din 1
Permisiunile acestui forum:
Nu puteti raspunde la subiectele acestui forum
|
|