Bine ati venit pe la noi pe forum!

Pentru a beneficia de tot ceea ce va ofera forumul nostru, va rugam sa va INREGISTRATI daca sunteti deja membru CONECTATI-VA.
Inainte de a va INREGISTRA cititi regulamentul va rugam!
Pentru a ne contacta adaugati id cs.breakall!
--Echipa Team-Strike--

Tutorial POO (Programare orientata pe obiecte)/C++

 :: Tutoriale

In jos

Tutorial POO (Programare orientata pe obiecte)/C++

Mesaj Scris de Vizitato la data de Mar Oct 09, 2012 6:29 am

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 ]
Cuvantul cheie "class" indica faptul ca urmeaza descrierea unei clase avand numele "Nume_clasa" (in exemplul de mai susL "coordonate_3D"). Numele clasei poate fi orice identificator unic in cadrul domeniului de existenta respectiv.
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 };
avatar
Vizitato
Vizitator


Sus In jos

Sus

- Subiecte similare

 :: Tutoriale

 
Permisiunile acestui forum:
Nu puteti raspunde la subiectele acestui forum