Documente Academic
Documente Profesional
Documente Cultură
Ce ne propunem s aflm ?
Ce sunt i la ce pot folosi obiectele?
Cum crem i manipulm obiectele?
3. Interaciuni cu obiecte
Invocare obiecte Operaii i parametrizare
Paradigma
OBIECTUAL / ORIENTAT OBIECT / ORIENTAT PE OBIECTE [abstractizare, perspectiv structural] OBIECT-MESAJ [interaciuni, perspectiv comportamental]
din
lumea real, lumea sau domeniul afacerilor, un mediu de comunicare vizual.
Ce sunt obiectele ?
Ce putem abstractiza folosind obiectele?
o entitate; un lucru; un concept; ceva care poate fi recunoscut, delimitabil sau de sine stttor; ORICE Everything is an object
10
Categorii de obiecte
Obiecte active i obiecte pasive Obiecte procesate i obiecte control Obiecte locale i la distan Obiecte entiti i obiecte servicii Obiecte grafice i obiecte ale afacerii Obiecte generice i obiecte derivate Obiecte simple i obiecte compuse Obiecte persistente i obiecte tranziente
11
IDENTITATE - difereniere prin comparabilitate n special n contextul n care mai sunt obiecte (n special de acelai fel)
12
13
14
15
16
17
18
Crearea obiectelor
Crearea obiectelor se refer la materializarea lor concret (ntr-un contex computaional de regul stocarea lor ntr-o structur de memorie specific). Crearea obiectelor: se realizeaz prin instanierea claselor: invocarea claselor prin cuvntul cheie new presupune iniializarea acestora: iniializarea variabilelor care descriu starea obiectelor, iniializare care se face: implicit: prin valori implicite asociate variabilelor de instan n momentul instanierii claselor; explicit: prin valori asociate explicit variabilelor de instan dup instaniere claselor (de regul prin intermediul constructurilor);
19
Iniializarea implicit
Iniializarea implicit se face difereniat funcie de:
membri (variabile) de tipuri primitive sau non-primitive membrii primitivi sunt iniializai : cu 0 pentru primitive numerice, cu spaiu pentru primitive char, cu false pentru primitive boolean membri referine sunt iniializai n sensul rezervrii locaiilor de memorie, dar nu au o valoare concret (starea lor, marcat prin lipsa unei valori, este desemnat prin null)
20
Iniializarea implicit
Iniializarea implicit se face difereniat i pentru:
membri statici (sau variabilele de clas) au valori comune pentru toate obiectele obinute prin instaniere aceleai clase i sunt se deosebesc de ceilali prin specificatorul static; sunt iniializai implicit la invocarea clasei, chiar fr instanierea vreunui obiect concret (pot fi invocai i prin numele clasei) membri non-statici (sau variabilele de instan) pot avea valori distincte pentru fiecare obiect posibil de obinut prin instanierea unei clase i se deosebesc de ceilali prin inexistena specificatorul static; nu au sens n absena instanierii unui obiect concret (nu pot fi accesai dect prin referina unui obiect)
21
Iniializarea explicit
n cazul membrilor (variabilelor) referine:
se refer la instanierea obiectelor n procesul de iniializare a variabilelor de instan se face folosind declaraia new
22
Tablouri
Declararea unui array NumeClas [] numeTablou; Pentru aflarea dimensiunii (numrului de elemente) tablourile prezint proprietatea instrinsec length Etapele operaiei de iniializare
iniializarea tabloului n sine - n aceast etap va fi specificat numrul de elemente care vor forma tabloul iniializarea elementelor care formeaz tabloul
23
Tablouri de primitive
prima variant: iniializarea separat a tabloului i a elementelor int [] a1 = new int[3]; a1 [0] = 1, a2[1] = 2, a3[2] = 3;
a dou variant: iniializarea n aceeai instruciune a tabloului i elementelor int [] a1 = {1, 2, 3};
24
25
27
28
Invocarea aceleai operaii ctre obiecte distincte poate conduce la rezultate distincte: execuia operaiei se face n contextul de stare distinct, propriu fiecrui obiect
29
30
Declaraiile operaiilor
Nume i tip returnat Specificatori de vizibilitate Parametrizare
31
32
33
Bibliografie
Ctlin Strmbei, Dezvoltarea aplicaiilor orientate obiect pe platforma Java, Ed.UAIC, 2010 Cap.1 Introducere n universul obiectelor Ivor Hortons, Beginning Java 2 JDK5 Edition, Wiley Publishing, Inc., Indianapolis, Indiana, 2005 Cap1. Introducing Java: Object Oriented Programming in Java, Java Program Structure Danny Poo, Derek Kiong, Swarnalatha Ashok, ObjectOriented Programming and Java, Second Edition, Springer, 2008 Cap 1. Introduction Cap 3. A quick tour of Java Doug Dann, Mastering the Fundamentals of the Java Programming Language, 2003
Cap 1. Fields and Methods: 1.2 Fields, 1.3 Field Initialization
34