Carte MFC

O carte destul de buna, numai k e in limba rusa. Descarcati cartea aici - MFC

All kind of scripts

http://www.scripts.com/

http://www.freshone.net/ 

POO [2(2)] :: Incapsulare.Declaraţii de obiecte şi definiţii de clasă

POO. Curs #2(2) :: 15.09.2007

Incapsularea defineşte 2 aspecte:

1. combinarea proprietăţilor şi componentelor într-un tip abstract de date – clasă

2. definirea nivelului de acces către proprietăţile şi comportamentul obiectelor(Incapsularea datelor)

Există 3 nivele de protecţie a datelor în cadrul unui obiect:

  1. Private – variabilele şi funcţiile definite la nivel private sunt vizibile numai din interiorul clasei unde au fost declarate
  2. Protected – variabilele şi funcţiile definite la nivelul protected sunt vizibile atît în clasa în care au fost declarate cît şi în clasele derivate din clasa dată.
  3. Public – variabilele şi funcţiile membre definite la nivelul public pot fi accesate din oricare clasă(din întreaga aplicaţie).

Exemplu:

class ContBancar {
private:

int ID;

protected:

double sold;

Client *pClient;

private:

double GetDobânda

public:

double GetSold();

int SetClient(const Client & client);

};

private, protected, public – modificatori de acces.

Observaţie: În C++ un modificator poate fi aplicat la mai multe variabile şi funcţii.

În C#/Java pentru fiecare variabilă,funcţie trebuie de specificat modificatorul.

Declaraţie de obiecte

C#/Java

<Nume_clasa><nume_obiect>[=new<nume_clsa>(…)];

C++

1) <Nume_clasa><nume_obiect>;

2) <Nume_clasa>*<nume_obiect>[=new<nume_clasa>(…)];

Exemple:

C++ ContBancar cont1;

ContBancar *pCont = new

ContBancar();

C#/Java ContBancar = new ContBancar();

POO [2] :: Abstractizarea. Obiecte şi clase

POO. Curs #2 :: 15.09.2007

Definiţie: Un identificator este o expresie alfa-numerică care începe în mod obligatoriu cu un caracter alfabetic sau ‘_’ , nu poate conţine semne speciale.

Exemple: ContBancar, pi, k7, _var, m_szstr

class <Nume_clasă>{

<declaraţii_variabile_membre>

<declaraţii_functii_membre>

};

unde:

- <Nume_clasă> – un identificator;

- <declaraţii_variabile_membre> – secţiunea, în care se definesc proprietăţile obiectelor ce vor fi instanţiate în acestă clasă.

sintaxa:

- C++ <tip><nume_var>;

- C# / Java [<modificator>]<tip><nume_var>[=val_init>];

o nume_var – identificator

o tip – este un tip predefinit, sau definit de utilizator din limbajul de programare

o <modificator> - reprezintă un cuvînt rezervat care defineşte vizibilitatea variabilei din exterior

Observaţie1: La declararea unei variabile_membre în C++ nu se permite iniţializarea cu valoare iniţială, dar în C# / Java se permite.

Observaţie2: Dacă variabila nu este iniţializată la declarare atunci ea în C++ are valoare nedefinită, iar în C# / Java le nulifică.

- <declaraţii_funcţii_membre> – conţine secţiunea în care sunt definite funcţiile membre ale clasei care descriu comportamentul obiectelor de clasa respectivă.

o C++

§ <tip_retur><nume_fct>(lista_param_formali);

§ <tip_retur><nume_fct>(<lista_param_formali>){

<corp_functie>

};

o C# / Java

§ [<modificatori>]<tip_return><nume_fct>(<lista_param_formali>)

{

<corp_fct>

}

- <tip_retur> - tip predefinit sau definit de utilizator şi reprezintă tipul valorii returnate de funcţie. Dacă funcţia nu returnează nici o valoare(procedură) atunci tipul de retur este void

- <nume_fct> - identificator

- <lista_param_formali> - <tip><nume_param>[=Nul>]

La nivel de abstractizare în procesul de identificare a obiectelor , proprietăţilor şi comportamentului lor se face abstracţie de tipuri.

POO [1] :: Principii de programare orientată pe obiect

  1. Abstractizarea
  2. Incapsularea
  3. Generalizarea/Moştenirea
  4. Polimorfism

Definiţie: Obiectul este o entitate caracterizată prin proprietăţi şi comportament. Proprietăţile sunt caracteristici ale obiectului; comportamentul - acţiuni care, odată aplicate obiectului schimbă proprităţile.
Exemplu: Masa

Observaţie: Două obiecte pot avea caracteristici şi comportament comun, dar sunt de identitate diferită.

  1. Abstractizarea - principiu care permite identificarea caracteristicilor şi comportamentului obiectelor ce ţin nemijlocit de domeniul problemei. Rezultatul - model. În urma abstractizării, entităţile din domeniul problemei se definesc prin clase.

Definiţie: Clasa - tip abstract de date, ce defineşte un set de obiecte cu caracteristici şi comportament comun.

Un obiect este o instanţă a clasei.

  1. Incapsularea este caracterizată prin 2 aspecte:
    1. Gruparea comportamentelor şi caracteristicilor într-un tip abstract de date
    2. Definirea nivelului de acces la datele unui obiect

Orice obiect constă din interfaţă şi parte logică

  1. Generalizarea/Moştenirea
    1. Generalizarea - principiu ce permite generalizarea unor clase pe baza altor clase ce au comportament comun.
    2. Moştenirea - definirea unor clase derivate din clase generice

1. Polimorfism. Prin polimorfism vom înţelege posibilitatea mai multor obiecte dintr-o ierarhie de clase de a utiliza denumiri de metode cu acelaşi nume dar cu , comportament diferit.

Definiţie: Un program scris OO constă dintr-o mulţime de obiecte legate prin diferite relaţii.O mulţime de clase legate între ele prin relaţii de moştenire formează o ierarhie de clase.



FreeWM.ru - WebMoney нахаляву!
Ошибка, внешние коннекты на хостинге отключены, обратитесь к хостеру или попробуйте CURL.