Documente Academic
Documente Profesional
Documente Cultură
Curs 01
Curs 01
Introducere n
Programarea Orientat
Obiect (POO)
Mihai Gabroveanu
Detalii Organizatorice
Bibliografie
n
Curs
Laborator
n
n
10
Evaluare
nota de laborator
n
http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html
= NL
Doua lucrari
Teme
examen scris
= NE
nota final: (NL+NE)/2
11
Abstractizarea
C++
C#
Java
12
Abstractizarea - Exemplu
Abstractizarea
ncapsularea
Modularitatea
Ierarhizarea
14
13
15
NCAPSULAREA
n
n
n
IERARHIZAREA
16
MODULARITATEA
n
Obiecte
nume
atribute (date)
18
17
19
Clasa
n
Obiecte - Bicilete
Clasa Bicilet
- atribute
tip cadru
dimensiunea rotii
numar de viteze
- metode
acelereza
franeaza
Un
20
n
n
declararea clasei
implementarea clasei respective
n
Sintaxa
class IdNumeClasa{
declaratii de date membru;
declaratii/definiii de functii membru;
};
Extragerea metodelor
n
22
21
23
Exemplu
Declararea clasei ContBancar
class ContBancar{
private:
char titular[100];
char codIBAN[25];
float sold;
public:
void init(char _titular[], char _codIBAN[],
float _sold);
void depune(float suma);
void retrage(float suma);
float getSold();
void
afis();
};
Introducere n Programarea Orientat Obiect
24
26
Exemplu
Implementarea clasei ContBancar
void ContBancar::init(char _titular[], char
_codIBAN[], float _sold){
Declarare
strcpy(titular,_titular);
class IdNumeClasa{
tip idNumeMetoda(tip1 p1, , tip pn);
};
strcpy(codIBAN,_codIBAN);
sold = _sold;
}
Definire
void ContBancar::depune(float suma){
25
27
Exemplu
idOb.idDataMembru
idPointerOb ->idDataMembru
float ContBancar::getSold(){
return sold;
}
void
ContBancar::afis(){
idOb.idMetodaMembru(lista de parametri);
idPointerOb ->idMetodaMembru(lista de parametri);
28
30
Exemplu
int main(){
IdNumeClasa{
// .
} idOb1, , idObN;
ContBancar c;
c.init("Popescu",
"RO49RNCB0080005630320001", 100);
c.afis();
printf("Depun 10 RON\n");
c.depune(10);
c.afis();
sau
printf("Extrag 15 RON\n");
c.depune(10);
c.afis();
29
31