Clase

Imagine preview
(8/10 din 8 voturi)

Acest curs prezinta Clase.
Mai jos poate fi vizualizat un extras din document (aprox. 2 pagini).

Arhiva contine 1 fisier doc de 104 de pagini .

Iti recomandam sa te uiti bine pe extras si pe imaginile oferite iar daca este ceea ce-ti trebuie pentru documentarea ta, il poti descarca.

Fratele cel mare te iubeste, acest download este gratuit. Yupyy!

Domenii: Calculatoare, Electronica, Electrotehnica, Inteligenta Artificiala, Limbaje de Programare

Extras din document

1. Programare procedurala –Programare orientata pe obiecte.

Limbajul C, ca si Pascal, utilizeaza modelul programarii structurate procedurale, care consta în descompunerea programului în proceduri (functii), apelate în ordinea în care se desfasoara algoritmul. Datele sunt separate de functiile care le manipuleaza.

Odata cu cresterea dimensiunii programelor s-a acordat o atentie sporita organizarii datelor – functiile, împreuna cu datele pe care le manevreaza sunt organizate ca un modul. Programarea modulara este tot programare procedurala, cu proceduri si date grupate în module si ascunse altor module.

Programarea orientata pe obiecte consta în identificarea unor obiecte, cu operatii (metode) specifice asociate si realizarea comunicarii între aceste obiecte prin intermediul unor mesaje. Elementul constructiv – obiectul este o instanta a unei clase (tip de data definita de utilizator). Clasele sunt membre ale unei ierarhii si sunt corelate între ele prin relatii de mostenire.

Un limbaj de programare pune la dispozitia utilizatorilor un numar de tipuri primitive (sau predefinite). Astfel în C avem ca tipuri primitive char, int, float, etc. Un tip de date este precizat printr-o multime finita de valori T (constantele tipului) si o multime de operatori (aplicatii T ® T sau

T ´ T ® T).

Într-un limbaj de programare un tip de date reprezinta un model matematic. Astfel tipul int , caracterizat prin multimea finita de întregi (-32768, 32767) si operatorii binari +, -, *, / si % ilustreaza conceptul de numar întreg.

Modelele matematice care nu au reprezentare directa prin tipuri predefinite se pot reprezenta prin tipuri definite de utilizator (numite si tipuri de date abstracte- TDA).

2. Declararea claselor.

O clasa reprezinta un tip definit de utilizator. Declararea unei clase se face într-o maniera asemanatoare declararii structurilor si contine atât date cât si functii (metode) si putem declara variabile de acest tip nou. Un obiect este un exemplar sau o instanta a unei clase (în vechea terminologie obiectul este echivalent unei variabile, iar clasa este echivalentul unui tip definit de utilizator).

Consideram conceptul Data, pe care-l reprezentam printr-o structura si un set separat de functii de manipulare:

struct Data{

int a, l, z; // reprezentare

};

void initD(const Data&, int, int, int); //initializare

void ad_a(const Data&, int); //adauga un an

void ad_l(const Data&, int); //adauga o luna

void ad_z(const Data&, int); //adauga o zi

Nu exista o legatura implicita între date si functiile de manipulare a lor. Pentru a stabili aceasta legatura, declaram functiile ca membre ale structurii:

struct Data{

int a, l, z; // reprezentare

..// functii de manipulare

void initD(int, int, int); // initializare

void ad_a(int);

void ad_l(int);

void ad_z(int);

};

Functiile declarate în definirea clasei (structura este o clasa) se numesc functii membre si pot fi apelate numai de variabile de tipul corespunzator (obiecte) folosind sintaxa de acces la membrii structurii:

Data d;

d.initD(2001, 10, 15);

d.ad_a(3);

. . .

Definirea functiilor membre, în afara clasei se face folosind operatorul de vizibilitate (rezolutie), care indica faptul ca functia apartine clasei specificate înaintea acestui operator.

void Data::initD(int aa, int ll, int zz){

a = aa;

l = ll;

z = zz;

};

Declararea unei clase se face în mod asemanator cu declararea unei structuri. Cuvântul struct este înlocuit prin class, iar câmpurile se separa în date membre si functii membre (sau metode). În plus, se pot preciza specificatori de acces la membri. Acestia pot fi:

• private – membrii sunt accesibili numai din interiorul clasei

• public – membrii sunt accesibili din afara clasei

• protected – membrii sunt accesibili din interiorul clasei si din clasele derivate

Domeniul de definitie al clasei este cuprins între începutul definitiei clasei (class nume) si sfârsitul definitiei.

Fisiere in arhiva (1):

  • clase.doc