Sunteți pe pagina 1din 21

PROGRAMARE II

Programare orientat obiect


[Limbajul i platforma Java]

Motto
Any fool can write code that a computer can
understand. Good programmers write code
that humans can understand.
Martin Fowler (author and speaker on software development)

Capitolul 1.
Introducere n universul obiectelor
Ce sunt obiectele i
cum se lucreaz cu ele?

Ce ne propunem s aflm ?

Ce sunt i la ce pot folosi obiectele?

Cum crem i manipulm obiectele?

A. CONCEPTUL DE <<OBIECT>>

A1. Ce sunt obiectele ?

OBIECTUL este o abstraciune.

Ce putem abstractiza folosind obiectele?

ORICE este un obiect Everything is an object

Unde/cine este obiectul ?


Cod Java
Proiect p = new Proiect();
p.nrProiect = 1;
p.numeProiect =
"Agile Software Management Tool";
p.dataStart = new Date();

Cod JavaScript
var proiect = {};
proiect.nrProiect = 1;
proiect.numeProiect =
"Agile Software Management Tool";
proiect.dataStart = new Date();

A2. Cum pot fi caracterizate obiectele

Obiectele au

Obiectele

IDENTITATE,
REPREZENTARE,
UTILITATE.

pot fi (A)SOCIABILE,
COLABOREAZ.

A3. CATEGORII de OBIECTE


(Exemple)

Obiecte entiti i obiecte (care ofer) servicii

Obiecte grafice i obiecte ale afacerii

Obiecte persistente i obiecte tranziente

B. MODELUL OBIECTUAL

B1. PRINCIPII GENERALE

STARE

COMPORTAMENT

INTERACIUNI

IDENTITATE

B2. FORMALIZARE
Obiectul
Atribute +
proprieti
stare
Operaii
Mesaje

B1. IMPLEMENTARE

Limbaje de reprezentare, modelare a obiectelor


Limbaje de formalizare vizual: UML
Limbaje de programare:

Java, C#, C++


JavaScript, Groovy
SQL3

Diagrama UML

Java Implementation

C. LIMBAJUL DE PROGRAMARE
JAVA

C1. DEFINIRE obiectelor n Java: CLASA

CLASA = META OBIECT

Declaraii definitorii n clase:

declaraii de membri atribute;


declaraii de membri operaii;
declaraii de constructori.

Declaraii convenionale:

proprieti (integritate) prin:

operaii accessor get<Nume proprietate>();


operaii mutator set<Nume proprietate>(newValue);

identitate prin definire echivalen


codificarea operaiei equals(otherObject).
*

Ex: Eclipse generarea unei clase


1. Scheletul clasei: declarare definiii membri atribute.
2. Generare proprieti: getteri/setteri
3. Generare mod iniializare - contructori.
4. Generare metoda equals - difereniere obiecte.
5. Adugare operaii suplimentare - calcul noi
proprieti.

C2. Crearea i reinerea obiectelor


(n memorie)

Instruciuni de instaniere
cuvntul cheie new
Care este zestrea un obiect nou-creat ? Ce posed
material ?
Reguli de iniializare
membri variabile interne, variabile de instan i
variabile de clas
membri primitivi i membri referine
membri uni-valoare i multi-valoare: tablouri i colecii

Tipuri de iniializare

implicit
explicit

Ex: Clas aplicaie - context testare

ex. iniializare folosind constructori.


ex. iniializare atribute cu valori default.
ex. iniializare variabile referin.
ex. iniializare obiecte n tablouri.

C3. Aplicaii cu obiecte

Execuia aplicaiilor:

apeluri de funcii i proceduri;


invocarea operaiilor obiectelor de ctre alte obiecte;
interaciuni sau schimburi de mesaje;

Sintaxa cu punct

Aplicaia Java

obiect activ iniieaz i deine controlul;


iniierea execuiei prin metoda standard main().

S-ar putea să vă placă și