Documente Academic
Documente Profesional
Documente Cultură
Facultatea de Inginerie
Departamentul de Automatic, Energie i Mediu
Programare orientat pe
obiecte
LECTOR DR. ADRIAN RUNCEANU
Curs 1
Noiuni introductive
despre
programarea orientat pe
obiecte
14.10.2013
1. Clase
1.1. Programare procedural
Programare orientat pe obiecte
1.2. Declararea claselor
14.10.2013
14.10.2013
modular
este
tot
programare procedural, cu proceduri i
date grupate n module i ascunse altor
module.
14.10.2013
14.10.2013
tipului)
i o mulime de operatori (aplicaii T T sau T
T T)
Programare orientat pe obiecte (C++/Java)
14.10.2013
14.10.2013
14.10.2013
1. Clase
1.1. Programare procedural
Programare orientat pe obiecte
1.2. Declararea claselor
14.10.2013
14.10.2013
Un
urmtoarea analogie:
obiect este echivalent cu o variabil
clasa este echivalent cu un tip definit
de utilizator
Programare orientat pe obiecte (C++/Java)
14.10.2013
14.10.2013
14.10.2013
2. i respectiv, operatorii:
adunare
scdere
nmulire
mprire, .a.m.d.
Programare orientat pe obiecte (C++/Java)
14.10.2013
tipurile de date:
matrice
complex
14.10.2013
operaii:
complex a, b, c;
matrice p, q, r;
...
c = a + b;
p = q * r;
14.10.2013
14.10.2013
14.10.2013
Aplicaii
construite
cu
ajutorul
limbajului C++:
grafic interactiv
proiectarea interfeelor utilizator
exploatarea reelelor de calculatoare
tehnicile de proiectare a compilatoarelor
Limbajul C++ are un impact foarte mare
i se impune pe piaa limbajelor de
programare obiectuale.
Programare orientat pe obiecte (C++/Java)
14.10.2013
Tipuri de metode
14.10.2013
Astfel avem:
1. Constructori metode care creeaz noi
instanieri ale clasei (adic noi obiecte). Spunem
c s-a nscut un nou obiect atunci cnd este
folosit constructorul unei clase. Este posibil s
creem obiecte n mai multe moduri, deoarece unei
clase i pot corespunde mai muli constructori.
2. Destructori metode care elimin obiecte din
memorie.
Programare orientat pe obiecte (C++/Java)
14.10.2013
14.10.2013
Clase
Clasele sunt de fapt implementarea unor
tipuri abstracte de date (TDA sau Abstract
Data Type - ADT).
O caracteristic important a unui limbaj
de programare este aceea de a oferi
programatorului posibilitatea de a-i construi
tipuri de date ca cele standard, acestea
numindu-se tipuri definite de utilizator (user
defined).
Programare orientat pe obiecte (C++/Java)
14.10.2013
14.10.2013
14.10.2013
14.10.2013
Concluzie:
Date
+
Operaii
CLAS
Programare orientat pe obiecte (C++/Java)
14.10.2013
public
private
protected
14.10.2013
14.10.2013
14.10.2013
Unde:
nume_clas este numele tipului clasa ales de ctre
utilizator i care trebuie s fie unic
lista_clase este lista claselor din care este derivat clasa
respectiv (dac este cazul)
lista_membri reprezint secvena de declaraii ale
membrilor clasei. Lista conine declaraii de date membre i
declaraii de funcii membre. Datele membre pot fi de orice
tip, mai puin tipul clasa derivat (se admit ns pointeri la
tipul clasa derivat).
lista_variabile este lista numelor de variabile alese pentru
clasa respectiv
Programare orientat pe obiecte (C++/Java)
14.10.2013
14.10.2013
Exemplu:
// definirea clasei matrice
class matrice
{
<lista_membrii>
};
//declararea variabilelor de tip matrice
matrice a,b,c;
Programare orientat pe obiecte (C++/Java)
14.10.2013
Observaie:
Membrii unei clase au implicit atributul de
acces private.
Metodele asociate datelor trebuie s fie ns
accesibile utilizatorului clasei, astfel nct
trebuie s fie declarate public.
Se admite c n definiia clasei s apar doar
prototipurile funciilor membre.
Definiiile efective ale funciilor se pot face
ulterior, n orice alt loc n cadrul programului.
Programare orientat pe obiecte (C++/Java)
14.10.2013
Observaie:
Definiia unei clase const din dou pri:
declaraia i implementarea sa.
1. Declaraia este o niruire a elementelor
14.10.2013
14.10.2013
14.10.2013
39
ntrebri?
14.10.2013