Documente Academic
Documente Profesional
Documente Cultură
1. Despre curs
2. Concepte i paradigme n POO
Despre curs
Cine:
Andrei.Vatavu@cs.utcluj.ro prelegeri
Anca.Ciurte@cs.utcluj.ro prelegeri
Obiectivele cursului
Privitoare la cunotine/nelegere
Fundamentele POO
Elementele principale n proiectarea,
programarea, testarea i documentarea
soluiilor OO
Metode de proiectare pentru programe Java de
complexitate relativ redus
Elemente de baz ale UML
OOP1 - T.U. Cluj - A. Vatavu, M. Joldos
Abiliti intelectuale
Abiliti practice
Subiecte abordate
Concepte i paradigme n
programarea orientat pe obiecte
Abstraciuni i tipuri de date
abstracte
Caracteristicile limbajului Java
Tipurile de date primitive i
structurile de control n Java
Clase i obiecte
Interfee Java
Excepii i tratarea lor
Principalele API-uri i clase
predefinite n Java
Evaluare. Referine
Evaluare
Referine
Evaluare. Referine
Referinte:
Temele de astzi
Paradigma POO
Concepte POO
Obiecte i clase
ncapsulare i motenire
OOP1 - T.U. Cluj - A. Vatavu, M. Joldos
10
Paradigme de programare
11
Paradigme de programare
12
Programarea imperativ
13
Programarea structurat
valori de intrare
Bloc
principal
Procedur
valori de intrare
Funcie
valoare/valori de ieire
14
Programarea structurat
Abstractizarea operaiilor
Date de intrare
Date de ieire
Descrierea funcionalitii
Implementarea
Date locale
Secvene de instruciuni
Sintaxa limbajului
15
16
17
Abstractizarea datelor
18
Sintaxa limbajului
19
20
21
22
23
24
Exemplu:
Cont bancar
Date:
soldul contului
Aciuni: depune, retrage, determin soldul
OOP1 - T.U. Cluj - A. Vatavu, M. Joldos
25
solduContului
soldulContului
depune
mesaj
retrage
mesaj
soldulContului
determinaSold
determinaSold
mesaj
Ascunderea informaiei
Proiectarea dirijat de responsabiliti
Impact asupra ntreinerii i dezvoltrii
OOP1 - T.U. Cluj - A. Vatavu, M. Joldos
26
Ascunderea informaiei
n versiunea clasic
27
28
29
30
Ofer
31
Concepte OOP
Abstractizare
Exemplu (urmeaz)
32
istoric medical
familia
maini
vndute
talente
jurnalul
creditului
procentul
comisionului
numele
33
maini vndute
procentul
comisionului
numele
Abstractizarea unui tip
PersoanaVinzator pentru un
Sistem de urmrire a vnzrilor
OOP1 - T.U. Cluj - A. Vatavu, M. Joldos
34
Abstractizare
istoric medical
istoric genetic
familia
35
Persoan
Biciclet
Cal
Banc etc.
OOP1 - T.U. Cluj - A. Vatavu, M. Joldos
36
ntlnire
dat calendaristic
aflarea drumului printr-un labirint
sortarea unui pachet de cri de joc
Obiectele au
37
Capabilitile
pot fi:
obiectului
comenzi: modific proprietile obiectului
interogri: furnizeaz rspunsuri bazate pe proprietile
obiectului
OOP1 - T.U. Cluj - A. Vatavu, M. Joldos
38
39
40
41
Clase i instane
42
de obiect
43
metode
variabile instan
44
Instane de obiect
Prescurtare:
clas: clasa obiectului
instan: instana obiectului (a nu se confunda cu
variabilele instan)
45
Instane de obiect
46
47
48
ncapsulare
49
ncapsulare
Interfa
Ax cardanic
Transmisie
50
ncapsularea
Detalii de
implementare
private
51
interne
interfaa protejeaz implementarea mpotriva utilizrii
greite
Capabilitate
public
Capabilitate
public
Capabilitate
public
Capabilitate
public
Proprieti
private
Capabilitate
public
Capabilitate
public
52
53
Motenirea
Cursier
Biciclet tandem
54
Polimorfism
funcionalitate diferit
55
Abstractizare
Problem
Abstractizare
Model
56
Java. Caracteristici
57
Mediul Java
58
59
60
Aplicaii Java
61
Applets
62
ncrctorul de clase
63
64
javac UnProgram.java
Rezultatul este un program n byte-code cu acelai
nume ca al clasei, urmat de extensia .class
UnProgram.class
OOP1 - T.U. Cluj - A. Vatavu, M. Joldos
65
66
rataDobinzii
oraSosirii
OClasa
String
67
Declararea variabilelor
68
private
"Vizibil n familie".
public
protected
"Vizibil tuturor".
"Vizibil n vecintate"
69
Tipuri Java
70
Tipuri primitive
Tip primitiv
Bii
71
Compatibilitate la asignare
72
73
74
75
76
77
78
79
(int)2.9 se evalueaz la 2, nu 3
80
81
Concepte prezentate
Paradigme n programare
structurat
orientat pe obiecte
Abstractizare
Obiect
constructor
comenzi
interogri
proprieti: stare
capabiliti(comportamente):
aciuni
atribute
componente
asocieri
Motenire
Polimorfism
82