7/26/2019 Teorie Java hatz
1/50
1
CuprinsC u r s 1 . . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . 6
P r in c ip i i d e b az a in o b iec tu a l i t a t e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
C l a s a : . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . 6
In te r fa a : . . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . . .. . . 6
I m p l e m e n t ar e a : . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . 6
A s c u n d e r ea i m p l e m en t a r i i : . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . 7
SPE CIFICAT ORII DE ACCE S: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
P r i v a t e : . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . 7
P u b l i c : . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . 7
P r o t e c t e d: . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . . .. . . 7RE UT IL IZ ARE A IMPL E ME NT ARII COMPOZ IT IE . . . . . . . . . . . . . . 7
- C o m p oz i t i e : . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . 7
RE UT IL IZ ARE A IMPL E ME NT ARII MOST E NIRE . . . . . . . . . . . . . . . . . 8
M o s t e n i r e: . . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. 8
OBIE CT E INT E RSCHIMBABIL E PRIN POL IMORFISM . . . . . . . . . . 8
IE RARHIE CU O S INGURA RADACINA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
C O N T A IN E R E . . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . 9
C U R S 2 - 3 . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . 1 0
ORGANIZ ARE A CODUL UI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 0
CRE ARE A OBIE CT E L OR SI CICL UL DE VIAT A . . . . . . . . . . . . . . . . . 1 0
N UME DE OBIE C TE RE FE RINT E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 0
ORGANIZ ARE A ME MORIE I IN JAVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 0
T IPURI DE DAT E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1
DOME NIIL E DE VIZ IBIL IT AT E IN JAVA . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1
VIZ IBIL IT AT E A NUME L OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2CUVANT UL CHE IE ST AT IC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2
ST IL DE SCRIE RE A CODUL UI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2
OPE RAT ORI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2
CONT ROL UL E XE CUT IE I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 3
INIT IAL IZ ARE A OBIE CT E L OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 3
SUPRAINCARCARE A ME T ODE L OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 3
CUVANTUL CHEIE th i s . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . 1 4
DIST RUGE RE A OBIE CT E L OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 4
7/26/2019 Teorie Java hatz
2/50
2
ST E RGE RE A CORE CT A A OBIE CT E L OR . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 4
MODUL DE FUNCT IONARE A GARBAGE COL L E CT ORUL UI
. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . 1 4
INIT IAL IZ ARE A DAT E L OR ME MBRE : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 5
PROCE SUL CRE ARII UNUI OB IE CT : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 5
BL OCUL ST AT IC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 6
INIT IAL IZ ARE PRIN BL OC NON -ST AT IC . . . . . . . . . . . . . . . . . . . . . . . . . 1 6
INIT IAL IZ ARE A SIRURIL OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 6
CONT ROL UL ACCE SUL UI C l a s e . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . 1 6
CONT ROL UL ACCE SUL UI M e m b r i i C l a s e l o r . . . . . . . . . . . . .. . . . . . 1 6
C U R S 4 . . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . 1 8
RE AL IZ ARE A CL ASE L OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 8RE UT IL IZ ARE A CODUL UI: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 8
INIT IAL IZ ARE A RE FE RINT E L OR L A RE AL IZ ARE A
COMPOZ IT IE I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 8
S INT AXA MOST E NIRII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 8
IS -A v s Is -L ik e- A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 9
OPE RAT IA DE DE L E GARE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 9
ASCUNDE RE A NUME L OR L A MOST E NIRE . . . . . . . . . . . . . . . . . . . . . . . 1 9
AL E GE RE A INT RE COMPOZ IT IE S I MOST E NIRE . . . . . . . . . . . . . . 1 9
ME CANISMUL UPCAST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 0
D O W N C AS T . . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . 2 0
ORDINE A DE APE L ARE A CONST RUCT ORIL OR . . . . . . . . . . . . . . . 2 1
C U R S 5 . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . 2 2
I n t e r f e t e . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . 2 2
CL ASE ABST RACT E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2
CONCE PT UL DE INT E RFAT A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2
DE SIGN P AT T E RNUL ST RAT E GY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3
DE SIGN P AT T E RNUL ADAPT E R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3
MOST E NIRE A MUL T IPL A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3
DE SIGN PAT T E RNUL FACT ORYME T HOD . . . . . . . . . . . . . . . . . . . . . . . . 2 4
C U R S 6 . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . 2 5
CL ASE INT E RIOARE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 5
INNE R CL ASSE S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 5
CL ASE INT E RIOARE ANONMIE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 5
7/26/2019 Teorie Java hatz
3/50
3
DE CE CL ASE INNE R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 6
CL OSURE S & CAL L BACKS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 6
CONT ROL FRAME WORKS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 7
MOST E NIRE DIN CL ASE INNE R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 7
C U R S 7 . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . 2 8
COL E CT II , E XCE PT II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 8
CONT AINE RE GE NE RICE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 8
T IPURI DE CONT AINE RE JAVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 8
L UCRUL CU CONT AINE RE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 9
L IST E : 2 T IPURI DE L IST E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 9
I T E R A T OR I . . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . 2 9
E X C E P T II . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . 2 9
GUARDE D RE GIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 0
CRE ARE A PROPRIIL OR E XCE PT II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1
SPE CIFICARE A E XCE PT IE I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1
INL ANT UIRE A E XCE PT IIL OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1
IE RARHIA E XCE PT IIL OR IN JAVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2
E XCE PT II P IE RDUT E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2
RE ST RICT II L A E XCE PT II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2
GUIDE L INE S: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2
C U R S 8 . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . 3 3
I / O J a v a . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . 3 3
S IST E MUL DE I /O INT R -UN L IMBAJ DE PROGRAMARE . . . . 3 3
CL ASA FIL E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3
INPUT s i OUT PUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3
T IPURI DE In p u tS t rea m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3
T IPURI DE Ou t p u tS t ream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4
DE SIGN PAT T E RNUL DE C ORAT OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4
T IPURI DE F i l t e r In p u tS t ream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4
T IPURI DE F i l t e rOu tp u tS t re am . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4
R E A D E R s i W R I T E R . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . 35
R A N D O M A c c e s s F i le . . . . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . 3 5
RE AL IZ ARE A FIS IE RE L OR COMPRIMAT E . . . . . . . . . . . . . . . . . . . . . . . 3 5
F I S I E R E J A R . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . 3 5
SE RIAL IZ ARE : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 6
7/26/2019 Teorie Java hatz
4/50
4
E XT E RNAL IZ ARE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 6
E VIT ARE A SE RIAL IZ ARII ANUMIT OR COMPONE NT E AL E
OBIE CT E L OR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 7
C U R S 9 . . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . 3 8
R T T I . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . 3 8
OBIE CT UL C L ASS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 8
CL ASS L IT E RAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 8
GE NE RIC CL ASS RE FE RE NCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 9
COMPARARE A OBIE CT E L OR DE T IP CL ASS . . . . . . . . . . . . . . . . . . . . 3 9
RE FL E CT ION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 9
DE SIGN PAT T E RNUL PR OXY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 0
C U R S 1 0 . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . 4 1CONCURE NT A IN JAVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1
INT RODUCE RE IN PROGRAMARE A CONCURE NT A: . . . . . . . . . 4 1
E XE CUT IA MA I RAPIDA A PROGRAME L OR . . . . . . . . . . . . . . . . . . . . . 4 1
ABORDARI AL E L P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2
CODE DE SIGN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2
T HRE ADING IN JAVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2
T E RMINOL OGIE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3
CL ASA T HRE AD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3
VARIAT II L A CRE ARE A T ASKURIL OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3
E XE CUT ORS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4
CRE ARE A DE T HRE ADURI PT E XE CUT ORS . . . . . . . . . . . . . . . . . . . . . 4 4
RE T URNARE A DE VAL ORI DIN T HRE ADURI . . . . . . . . . . . . . . . . . . . 4 4
T HRE ADURI DAE MON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 5
CRE ARE A UNOR INT E RFE T E GRAFICE RE SPONSIVE . . . . . . . 4 5
PRINDE RE A E XCE PT IIL OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 5C U R S 1 1 . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . 4 7
P a r t a j a r e a r e s u r s e l o r . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . 4 7
PART AJARE A RE SURSE L OR MUT E X . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 7
PART AJARE A RE SURSE L OR SYNCHRONIZ E D . . . . . . . . . . . . . . . 4 7
ME CANISM MUT E X E XPL ICIT : L OCK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 7
AVANT AJE L E ME CANISMUL UI L OCK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 7
AT OMICIT AT E S I VOL AT IL IT AT E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 8
SE CT IUNI CRIT ICE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 8
7/26/2019 Teorie Java hatz
5/50
5
ST ARI AL E UNUI T HRE AD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 8
CUM SE PUNE UN T HRE AD IN ST ARE A BL OCKE D . . . . . . . . . . . 4 9
INT RE RUPE RE A T ASKURIL OR. . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . . 4 9
INT RE RUPE RE A T ASKURIL OR RUL AT E CU E XE CUT ORS . 4 9
COOPE RARE A INT RE T ASKURI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 9
DE ADL OCK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 0
7/26/2019 Teorie Java hatz
6/50
6
Teorie Java
Curs 1Cu p r in s :
P r in c ip i i l e p ro g ramar i i o b iec tu a le ;
No t i u n e a de o b i e c t ;
Pr i nc i p i i de baz a i n ob i e ctua l i ta te
Pro g ramarea o b iec tu a la :
E lemen te d in sp a t iu l p ro b lemei p recu m s i r ep rezen ta r i i l e
a c e s t o r a i n s p a t i u l s o l u t i e i = > O b i e c t e
C a r a c t e r i s t i c i a l e l i m b a j e l o r o b i e c t u a l e :
1 . Or ice e l emen t e s t e u n o b iec t ;
2 . Un p ro g ram es te o co lec t i e d e o b iec te ca re i s i sp u n u n u l
a l t u i a c e s a f a c a p r i n t r i m i t e r e d e m e s a j e
3 . F ieca re o b iec t a re u n sp a t iu d e memo r ie , p o s ib i l co mp u s
d i n a l t e o b i e c t e
4 . F ieca re o b iec t a re u n t ip
5 . T o a te o b iec te l e d e ace las i t i p p o t p r imi ace las i mesa j
(PROPRIE T AT E A UPCAST ) .
D e f i n i t i i :
De f i n i t ia Bos ch p en t r u u n o b i e c t : Un o b i ec t a r e o s ta r e , u n
co mp o r ta men t s i o id en t i ta t e
C l a s a :Es t e u n s e t de ob i ec t e c u ca r a c t er i s t i c i s i
f un c t i o na l i t a t i i d en t i c e ( t e r men ul d e c l as a s e s ub s t i tu i e
t ermen u lu i t ip )
I n t e r f a a :Me to d e ( f un c t io n a l i t a t e ) : c er er i l e ca re p o t f i
a d resa te u n u i o b iec t p a r t i cu la r d in t r -o c la sa
I m p l e m e n t a r e a :Mo d co n cr e t d e r ea l i za r e a fu n c t i on a l i t a t i i
Un o b iec t p o a te f i p r i v i t ca s i f u rn i zo r d e serv ic i i
S e imb u n a ta tes t e co ez iu n ea o b iec te lo r (o b iec te l e t reb u ie sa
s e p o t r i v ea sc a b i n e u ne l e cu a l t e l e )
UML : L imb a j s t an d ard iza t p en t ru mo d e la rea o b iec tu a la .
7/26/2019 Teorie Java hatz
7/50
7
R e p r e z e nt a r e a c l a s e l o r :
Nu me Ti p (n um el e c l a se i ) - > L i gh t
I n t e r f a t a( Fu n c t io n a l i t a t i i l e C lase i ) - > On () ;
O f f ( ) ;
Br ig h ten ( ) ;
D i m ( ) ;
Def in i rea u n u i o b iec t d in c l asa L ig h t :
L ig h t i t = n ew L ig h t ( ) ;
Ap e la rea u n e i fu n c t i i d in c l as a l ig h t cu a ju to ru l o b iec tu lu i
d e f in i t i n c l asa r esp ec t iv a :
I t . o n ( ) ;
A scunde re a i mpl e me ntar i i :
E x is ta d o u a t ip u r i d e p ro g ramato r i :
- Crea to r i d e c l ase c reaza c l ase ca r e ex p u n d o ar
fu n c t io n a l i t a t ea n ecesa ra c l ase lo r c l i en t , r e s tu l r aman e
a s c u n s ;
- Pro g ramato r i C l i en t co n su mato r i d e c l ase , ro lu l lo r e s t e
sa f i e ech ip a t i cu u n se t d e c l ase p en t ru d ezv o l t a rea
rap id a a ap l i ca t i i lo r f in a le
P ro g ramato r i i c rea to r i d e c l ase t r eb u ie sa p o a ta sch imb a
imp lemen ta rea ascu n sa fa ra ca p ro g ramato r i i c l i en t i sa f i e
a f e c t a t i .
S PEC IF IC A T O R I I DE A C C ES :
P r i v a t e : e lemen te le p r iv a te p o t f i accesa te d o ar d e c rea to ru l
c l a s e i i n c a d r u l m e t o d e l o r a c e l e i c l a s e
P u b l i c : e lemen te le p u b l i ce su n t d i sp o n ib i l e o r i ca ro r a l t e
c l a s e
P r o t e c t e d : s imi la r cu p r iv a te , u t i l i za t in mo s ten i re , c l a se le
c a r e m o s t e n e s c p o t a c c e s a e l e m e n t e p r iv a t e d i n c l a s e l e d e b a z a .
R EU T IL IZ A R EA IMPLEMENT A R I I C O MPO Z IT IE
Man ag emen tu l co mp lex i t a t i i : d esco mp u n erea e l emen te lo r
p r ob le m ei in p a r t i c o mp on e nt e
2 Meto d e d e r ea l i za re a co mp lex i t a t i i :
- C o m p o z i t i e : o c lasa n o u a co n t in e c l ase ex i s t en te ( re la t ie
has -a) . Se r ea l i zeaza p r in c rea re d e o b iec te memb re .Co mp o z i t i a r ea l i za ta d in amic se n u mes te ag reg are .
7/26/2019 Teorie Java hatz
8/50
8
R EU T IL IZ A R EA IMPLEMENT A R I I MO S T ENIR E
Date le s i fu n c t io n a l i t a t i i l e se p o t imp ach e ta d u p a co n cep te
ca re r ep rez in ta id e i s imi la re d in sp a t iu l p ro b lemei .
M o s t e n i r e : O c lasa n o u a se aseaman a (ex t in d e) o c l asa
ex i s t en ta (R el a t i e i s - a sa u i s - l i k e - a ) .
C lasa d e b aza co n t in e ca rac te r i s t i c i l e s i co mp o r tamen te le
c a r e v o r f i p a r t a j a t e c u t i p u r i l e d e r i v a t e .
C lasa Der iv a ta co n t in e :
- T o t i memb r i i c l a se i ( in c lu s iv ce i p r iv a t i ca re su n t
a s c u n s i ) .
-
T o a t a i n t e r f a t a c l a s e i d e b a z a , c a r e e s t e d u p l i c a t a
C l a s a d e r i v a t a e s t e i n a c e l a s i t i m p d e t i p u l c l a s e i d e b a z a .
Most en ire cum se d i f erent iaza c la sa der iva t a de c la sa de
baza .
- Pr in ad au g area d e n o i me to d e su p l imen ta re ;
- Sch imb area co mp o r tamen tu lu i u n o r meto d e ex i s t en te in
c lasa d e b aza (o v er r id in g ) ;
- Rela t ia i s - a : Clasa d e r iv a ta d o ar o v er r id e meto d e d in
c lasa d e b aza (p r in c ip iu l su b s t i tu t i e i p u re )
- Rela t ia i s - l ike - a : Clasa d e r iv a ta ad au g a e l emen te n o i
in te r fe t e i d e b aza (meto d e le n o i n u su n t acces ib i l e d in
c l a s a d e b a z a su b s t i tu t i a n u mai e s t e p u ra ) .
O B IEC T E INT ER S C HIMB A B ILE PR IN PO LIMO R FIS M
- L a i e ra rh i i l e d e c l ase d o r im sa t r a t am o b iec te l e u n i t a r
su b t ip u l d e b aza , a s t f e l p u tem sc r i e co d ca re n u d ep in d e
d e u n s p e c i f i c s i c a r e m a n i p u l e a z a o b i e c t e g e n e ri c e
- Se d o res te ca sa se ex ecu te co d u l in o b iec te l e c l ase lo r
d er iv a te f a ra ca sa s t im ( l a co mp i la re ) ca re v o r f i e fec t iv
a c e s t e o b i e c t e
-
Co mp i la to a re t r ad i t io n a le (n o n OOP) ea r ly b in d in g
-
Co mp i la to a re OOP l a t e b in d in g co d u l ap e la t e s t ed e te rmin a t ab ia l a ex ecu t i e , l a co mp i la re se as ig u ra d o ar
co resp o n d en ta t ip u lu i a rg u men te lo r s i a t ip u lu i d e r e tu rn .
- J a v a co mp i la to r OOP d y n amic ( l a t e ) b in d in g
- Propr ie t a t ea de UPCAST: t r a t a rea u n u i o b iec t d in t r -o
c lasa d e r iv a ta ca s i cu m a r f i d in c l asa d e b aza .
7/26/2019 Teorie Java hatz
9/50
9
I ER A R HIE C U O S INGU R A R A DA C INA
In j av a ( s i i n o r i ce l imb a j d e p ro g ramare o b iec tu a l cu
ex cep r ia c++) to a te c l ase le mo s ten esc o c l asa d e b aza n u mi ta
OBJE CT .
As t fe l , t o a te o b iec te l e d in l imb a j p o t f i ech ip a te in mo dg aran ta t cu o an u mi ta fu n c t io n a l i t a t e .
Se u su reaza imp lemen ta rea g a rb ag e co l l ec to ru lu i .
C O NT A INER E
- Ne c e s a re d a t o r i t a f a p tu l u i c a n u s t im d e l a d es i gn
n u maru l d e o b iec te n ecesa re p en t ru a r ez o lv a o an u mi ta
p r ob le ma;
- Co n ta in e re le su n t s i ru r i d e r e fe r in ta ca t re a l t e o b iec te ;
- E le se ex p an d eaza au to mat p en t ru a sa lv a n o i o b iec te ,
d u p a n e c e s i t a t i ;
-
Av em d o u a t ip u r i d e l i s t e (Ar ray L is t s i L in k ed L is t )
- Co n ta in e re le in Jav a su n t c rea te sa p as t r eze o b iec te d e
t ip u l Ob jec t . -> e l e p o t sa lv a o r i ce .
- Po t ap area ex cep t i i l a Do wn cas t , l a ru n t ime , t imp d e
ex ecu t i e c rescu t d a to r i t a o p era t i e i d e Do wn Cas t .
- Co n ta in e re p a ramet r i za te (Ar ray L is t sh ap e = n ew
Array L is t( ) ; )
7/26/2019 Teorie Java hatz
10/50
1 0
CURS 2-3- NO T IUN I INT R ODUCT IV E J AVA
-
INIT IAL IZ ARE A OBIE CT E L OR
O R GA NIZ A R EA C O DU LU I
-
Pen t ru f i eca re c l asa co mp i la t a se p ro d u ce u n f i s i e r
. c l a s s ;
- Un p ro g ram es te co mp u s d in t r -o co lec t i e d e f i s i e re . c l a ss
-
Aces tea p o t f i a rh iv a te : f i s i e r . j a r ;
- Fiecare f i s i e r j av a in cep e cu men t iu n ea p ack ag e : se
in d ica n u mele p ack ag eu lu i d in ca re v o r f ace p a r t e c l ase le
-
Clase le u t i l i za te ca re f ac p a r t e d in a l t p ack ag e se imp o r ta
c u impor t
- T o ate c l ase le d in t r -u n p ack ag e v o r f i co lec ta t e in t r -u n
s in g u r su b d i rec to r ;
-
Co n v en t i e p en t ru d en u mirea p ack ag eu r i lo r : u t i l i za rea
d o men i i lo r d e in te rn e t in o rd in e in v er sa
- Calea ro o t p en t ru d i reco are : v a r i ab i l a sy s tem
CL ASSPAT H
-
CL ASSPAT H p o a te in c lu d e d i rec to a re sau f i s i e re . j a r
C R EA R EA O B IEC T ELO R S I C IC LU L DE V IA T A
- Fiecare o b iec t n eces i t a r esu r se (memo r ie ) , c rea rea s i
d i s t ru g erea o b iec te lo r d ev in imp o r tan te ;
- Jav a u t i l i zeaza in mo d ex c lu s iv e a lo ca rea d in amica a
m e m o r i e i ;- Pen t ru o r i ce o b iec t , t r eb u ie u t i l i za t n ew la c rea re .
- Ob iec te le su n t a lo ca te in zo n a d e h eap
- Dis t ru g erea o b iec te lo r e s t e r ea l i za ta au to mat d e ca t re
g a r b a g e c o l l e c t o r ;
- GC id en t i f i ca mo men tu l in ca re u n o b iec t n u mai e s t e
u t i l i za t s i i l d eza lo ca .
NU ME DE O B IEC T E R EFER INT E
-
Id en t i f i ca to r i i p r in ca re se man ip u leaza o b iec te l e su n t
r e f e r i n t e c a t r e o b i e c t e- De ex : S t r in g s ; / / se c reaz a o r e fe r in ta ca t re u n o b iec t d e
t i p s t r i n g ;
- St r ing s = ne w S t r ing ( e xe mplu ) / / r e fe r in ta c re a te e s t e
i n i t i a l i z a t a
- T o ate v a r i ab i l e l e ( r e fe r in te l e ) c rea te in p ro g ram t reb u ie
i n i t i a l i z a t e ! ! !
O R GA NIZ A R EA MEMO R IE I IN J A V A
-
Z o n a Regis t ru : r eg i s t r e l e p ro ceso ru lu i , n u av em acces
d i r e c t l a e l e- St iva : z o n a d e s t i v a m e m o r e a z a r e f e r i n t e l e c a t r e o b i e c t e ;
7/26/2019 Teorie Java hatz
11/50
1 1
- Heap: In aceas ta zo n a su n t a lo ca te to a te o b iec te l e ( l a
a p e l u l n e w )
- Spat iu de s t ocare non -RAM: Ob iec te le ca re ex i s t a in
a fa ra sp a t iu lu i d e memo r ie a p ro g ramu lu i (p e r s i s t en ta
o b i e c t e l o r ) ,
T IPU R I DE DA T E
Tipur i le pr imit ive :
- Var iab i l e d e d imen s iu n e mica , sa lv a te d i rec t p e s t iv a ;
- Nu n e c es i t a n ew l a a l o ca r e ;
-
Bo o lean , ch ar , b y te , sh o r t , i n t , l o n g , f lo a t , d o u b le s i
v o id ;
- Fiecare d in aces te a re u n wrap p er ty p e p en t ru co n s t ru i rea
o b iec tu lu i d in t ip u l co r resp o n d en t ;
-
Au t ob o x i n g : co n v ers i e au to mata d e l a u n t ip p r imi t iv e l a
wra ppe r : Cha ra c te r c h = x ;
Numere de ina l t a prec iz ie
-
Big In teg er s i B ig Dec imal
- Su n t v azu te ca s i c l a se d e t ip Wrap p er in sa n u au u n t ip
p r i mi t iv e co r r esp on d e n t ;
Sirur i ( Arrays ) in JAVA
- JAVA: l imb a j d e p ro g ramare o r i en ta t sa fe ty ;
-
L a c rea rea u n u i Ar ray se c reaza u n s i r d e r e fe r in tef i e c a r e i n i t i a l i z a t a l a v a l o a r e a n u l l = > F i e c a r e m e m b r u a l
s i r u l u i t r e b u i e i n i t i a l i z a t ;
- JAVA n u p ermi te u t i l i za rea u n u i in d ice in a fa ra r an g e-
u lu i a r ray -u lu i ( se a ru n ca o ex cep t i e )
DO MENI ILE DE V IZ IB IL IT A T E IN J A V A
- In t re o aco lad a d esch i sa s i u n a in ch i sa a v em u n d o men iu
d e v i z i b i l i t a t e ( l a f e l c a i n C / C + + ) ;
- Jav a d e te rmin a can d u n o b iec t n u mai e s t e r e fe r i t d e
ca t re n ic i o r e fe r in ta d in t r -u n d o men iu d e v iz ib i l i t a t e
v a l id => se ap e leaza g a rb ag e co l l ec to r p en t ru
d e z a l o c a r e a m e m o r i e i ;
CLASE! ! ! !
- C l a s s ATypeName{ /*c las s Body * / }
-
C l a s e l e c o n t i n :
Meto d e ;
Camp u r i ;
- Mo d u l d e accesa re a u n u i camp /meto d a :
o b jec tRefe ren ce .memb er .
7/26/2019 Teorie Java hatz
12/50
1 2
- Pen t ru d a te l e d in t ip u r i p r imi t iv e se g a ran teaza
i n i t i a l i z a r e a l a v a l o r i i m pl i c i t e ( f a l s e s i 0 ) ;
- Meto d e , a rg u men te s i t i p d e r e tu rn :
Ret urnType met hodName( /*argument l i s t * / )
{
/*Met hod Body* /
}
V IZ IB IL IT A T EA NU MELO R
- P e n t r u f i e c a r e n u m e d e b i b l i o t e c i u n i c e , s - a r e a l i z a t
co n v en t i a ca f i eca re p ro g ramato r sa i s i u t i l i zeze p ro p r iu l
n u me d e d o men iu d e in te rn e t ca s i n u me d e b ib l io teca
(ex : ro .u b b c lu j . eco n .g s i l ag h i )
- Pu n c tu l in n u mele b ib l io tec i i r ep rez in ta u n su b d i rec to r
d e p e d i s c ;
-
Ut i l i zarea a l t or component : INPORT: In p o r t j av a .u t i l .Ar ray L is t ; / / s e imp o r ta o c l asa ;
Imp o r t j av a .u t i l . * ; / / s e imp o r ta to t p ack ag eu l
j av a . u t i l .
C U V A NT U L C HEIE S T A T IC
- Date le memb re s i me to d e l e p o t f i accesa te d o ar su b
ca l i f i ca rea u n u i o b iec t ex i s t en t in memo r ia p ro g ramu lu i .
-
Un camp sau o meto d a s t a t i c n u es t e l eg a te d e v reu n
o b iec t an u me d in t r -o c l asa
-
C l a s s d a t a s a u c l a s s m e t h o d ;- Un camp s t a t i c ex i s t a o s in g u ra d a ta p en t ru o c l asa , f i i n d
p a r t a j a t d e to a t e o b i e c t e l e c l as e i r e s p ec t i v e ;
- Camp u r i l e s t a t i ce p o t f i r e fe r i t e p r in n u mele c l ase i ;
- Meto d e le s t a t i ce su n t l a n iv e l d e c l asa , p o t f i r e fe r i t e
p r in n u mel e c l as e i ( f a r a a f i n e ces a r a ex i s t e n t u nu i
o b i e c t )
- Meto d a main ;
- Meto d e le s t a t i ce n u p o t accesa camp u r i /meto d e n e - s t a t i ce
d i n c l a s a ;
S T IL DE S C R IER E A C O DU LU I
- Co d e co n v en t io n s fo r th e j av a l an g u ag e ;
- Nu me l e c l a se i d i n m ai m ul t e cu v in t e c u cap i t a l i z a r e a
f i eca ru i cu v an t d in n u me;
- Pen t ru o r i ce a l t cev a (meto d e , camp u t i , r e fe r in te d e
o b i e c t e ) p r i m a l i t e r a e m i c a ;
O PER A T O R I
- T o t i o p era to r i i p ro d u c o v a lo a re p r in ap l i ca rea lo r ;
- E i p o t p ro d u ce s i s id e -e f fec t s (mo d i f i ca rea v a lo r i i
o p e r a n z i l o r ) ;- Ope ra to ru l de a t r ibu i re =
7/26/2019 Teorie Java hatz
13/50
1 3
A=4 / / a t r ib u i rea u n e i v a lo r i d in t r -u n t ip p r imi t u n e i
v a r i a b i l e
Daca c s i d sunt ob iec t e , c=d; / / amb e le ( c s i d ) v o r
re fe r i ace las i o b iec t (d ) ;
-
Al ias in g : l a t r an smi te rea u n u i o b iec t ca s i a rg u men t in t r -
o meto d a , se t r an smi te o r e fe r in ta , d ec i mo d i f i ca rea
v a lo r i i i n meto d a a fec teaza v a lo a rea o b iec tu lu i d in a fa ra
m e t o d e i ;
- Op era to r i i ++ s i au fo rma p o s t f ix a ta ( s imi la r cu
C / C + + ) ;
- Op era to r i i == s i = ! Ap l i ca t i p e r e fe r in te d e o b iec te ,
co mp ara r e fe r in te l e , s i n u co n t in u tu l o b iec te lo r .
- Pen t ru co mp ara rea co n t in u tu lu i o b iec te lo r , me to d a
eq u a l s : n1 .equa ls ( n2 ) .
-
Pen t ru c l asa S t r in g se p o t fo lo s i + s i += ;
C O NT R O LU L EXEC U T IE I
-
I f - t h e n - e l s e
- Wh i le , d o -wh i le , fo r
- Fo reach : p en t ru a se l ec ta u n e l emen t d in t r -u n a r ray s i a
e f e c t u a o p r e l u c r a r e p e a c e l e l e m e n t :
Fo reach fu n c t io n eaza p en t ru o r i ce s i r d e o b iec te
I t e r a b i l e
- In t re ru p erea ex ecu t i e i u n e i secv en te : r e tu rn , b reak ,
co n t in u e ;- Swi tch : in t s t ru c t iu n ea d e se lec t i e d in mai mu l t e
a l t e r n a t i v e .
IN IT IA L IZ A R EA O B IEC T ELO R
- In f i eca re c l asa se g a ran teaza in i t i a l i za rea o b iec te lo r
p r in s c r i e rea u nu i co ns t ru ct o r ;
- L a c rea rea u n u i o b iec t , Jav a ap e leaza au to mat
co n s t ru c to ru l c l ase i r e sp ec t iv e ;
- Nu me l e co n s t r u c t o ru l u i es t e i d en t i c c u n um el e c l a s e i
-
Co n s t ru c to ru l d e fau l t : Nu a re a rg u men te ;- Co n s t ru c to ru l n u a re t ip d e r e tu rn ;
- Daca se c reaza o c l asa f a ra n ic i u n co n s t ru c to r ,
co mp i la to ru l c reaza in mo d au to mat co n s t ru c to ru l
d e f a u l t ;
S U PR A INC A R C A R EA MET O DELO R
- Ut i l i za rea ace lu ias n u me d e meto d a p en t ru mai mu l t e
meto d e cu a rg u men te d i fe r i t e ;
-
Cu m d i fe ren t i aza Jav a in t r e meto d e le su p ra in ca rca te :
aces te meto d e t r eb u ie sa d i fe re p r in l i s t a a rg u men te lo r ;
7/26/2019 Teorie Java hatz
14/50
1 4
- L a su p ra in ca rca re , p r imi t iv e le d in l i s t a d e a rg u men te
s un p romote d c a t re t ipu r i l e ma i l a rg i
- Meto d e le n u se p o t su p ra in ca rca p e t ip u l d e r e tu rn ;
C U V A NT U L C HEIE th i s
-
In f i eca re meto d a ap e la ta , r e fe r in ta o b iec tu lu i su b ca rese ap e leaza meto d a es t e t r an smisa in meto d a su b fo rma
r e f e r i n t e i t h i s
- T h is p o a te f i u t i l i za t d o ar in in t e r io ru l me to d e lo r n e -
s t a t i c e
-
In in te r io ru l u n e i me to d e d in t r -o c l asa , l a ap e lu l u n e i
meto d e d in c l asa cu ren ta , n u es t e n ev o ie sa se u t i l i z eze
t h i s .
- T h is es t e f r ecv en t u t i l i za t in r e tu rn , p en t ru a r e tu rn a
o b iec tu l cu ren t .
DIS T R U GER EA O B IEC T ELO R
- Garb ag e Co l l ec to ru l d eza lo ca memo r ia a lo ca ta p r in n ew,
a tu n c i can d o b iec te l e n u mai su n t fo lo s i t e ;
- Meto d a f in a l i ze ( ) : p e rmi te o p era t i i d e s t e rg e re in a in te ca
o b iec te l e sa f i e su p u se g a rb ag e co l l ec to ru lu i ;
- Meto d a f in a l i ze ( ) : Jav a n u g a ran teaza ap e la rea aces te i
meto d e , p ro g ramato ru l n u a re co n t ro l a su p ra mo men tu lu i
can d se ap e leaza g a rb ag e co lec to ru l ;
- Daca o b iec te l e n o as t re ag reg a a l t e o b iec te , g a rb ag e
co lec to ru l se o cu p a d e d eza lo carea o b iec te lo r ag g reg a te ;- Fin a l i ze se u t i l i zeaza in g en era l p en t ru a imp lemen ta u n
te rmin a t io n co n d i t io n s p en t ru u n o b iec t (d e ex : in ch id e rea
u n u i f i s i e r ) .
S T ER GER EA C O R EC T A A O B IEC T ELO R
- Jav a n u g a ran teaza ap e la rea meto d e i f in a l i ze l a
d i s t ru g erea o b iec te lo r ;
-
Ce se in tamp la a tu n c i can d es t e n ecesa ca o b iec te l e sa f i e
s t e r se d aca p ro g ramele se in ch e ie cu ex cep t i e? S e
p u ne co du l de s t e r ge re i n t ro met o d a d i s po s e
-
Meto d a d i sp o se se ap e leaza p e c l au za f in a l ly a u n u i t ry -
ca tch g lo b a l .
- L a s t e rg e rea o b iec te lo r , aceas ta t r eb u ie sa se r ea l i zeze in
o rd in e in v er sa c rea r i i o b iec te lo r => p ro g ramu l t r eb u ie sa
se as ig u re d e aces t lu c ru .
MO DU L DE FU NC T IO NA R E A GA R B A GE C O LLEC T O R U LU I
- GC co lec teaza memo r ia r amasa a lo ca ta in o b iec te l e ca re
n u mai su n t u t i l i za te s i co mp ac teaza h eap -u l , r ea ran jan do b i e c t e l e a l o c a t e
7/26/2019 Teorie Java hatz
15/50
1 5
- Referen ce co u n t in g : O mo d a l i t a t e d e a imp lemen t a u n
G C :
De ca te o r i se a so c iaza o r e fe r in ta p en t ru u n o b iec t ,
r e fe ren ce co u n te ru l o b iec tu lu i se in c remen teaza ;
De ca te o r i se p ie rd e o r e fe r in ta p en t ru u n o b iec t ,
r e f e r e n c e c o u n t e r u l o b i e c t u lu i s e d e c r e m e nt e a z a ;
GC scan eaza s i ru l d e v a r i ab i l e r e fe ren ce co u n te r s s i c
an d in ta ln es te u n a n u la , d eza lo ca o b iec tu l r e sp ec t iv e .
-
Imp lemen ta rea J AVA: p en t ru u n o b iec t l i v e se p o a te
i d e n t i f i c a o r e f e r i n t a f i e p e s t a c k f i e i n s t a t i c s t o r a g e ;
- Sto p -an d -co p y : GC-u l o p res te p ro g ramu l , scan eaza to a te
re fe r in te l e d e p e s t ack s i co p iaza o b iec te l e id en t i f i ca te in
n o u l h eap . Cee ace r aman e e g a rb ag e-u l ca re t rb u ie
d eza lo ca t , i a r n o u l h eap e d e ja co mp ac ta t .
IN IT IA L IZ A R EA DA T ELO R MEMB R E:- Ut i l i za rea u n e i v a r i ab i l e lo ca le n e in i t i a l i za te => e ro are
d e co mp i la re ;
-
Orice d a ta memb ra a u n e i c l ase , d ac a es t e d e t ip
p r imi t iv e , se ga r a n t e az a in i t i a l i z a r e l a v a l o ar e a
i m p l i c i t a .
- Ob iec te le memb er n e in i t i a l i za te , v o r av ea v a lo a rea n u l l
-
S p e c i f i c a r e a v a l o r ii d e i n i t i a l i z a re :
L a mo men tu l d e f in i r i i v a r i ab i l e i p r imi t iv e p r in
as ig n area cu o v a lo a re ;
L a mo men tu l d e f in i r i i v a r i ab i l e i n o n -p r imi t iv e , p r inn ew.
- In i t i a l i za rea d a te lo r memb er p r in co n s t ru c to r
- Ord in ea d e in i t i a l i za re a d a te lo r memb er : o rd in ea in ca re
a c e s t e a s u n t d e f i n i t e i n c l a s a ;
- In i t i a l i za rea d a te lo r s t a t i ce a re lo c d o ar d aca aces tea
su n t n ecesa r d e a f i u t i l i za te ;
- O b i e c t e l e s t a t i c e s u n t i n i t i a l i z a t e i n a i n t e a c e l o r n o n -
s t a t i ce , d aca e l e n u au fo s t u t i l i za te p an a a tu n c i .
PR O C ES U L C R EA R I I U NU I O B IEC T :- Presu p u n em ca av em o c l asa Do g ;
- Pr ima d a ta can d u n o b iec t d e t ip Do g es t e c rea t , JVM
l o c a l i z e a z a p e d i s c f i s i e r u l D o g .c l a s s s i i l i n c a r c a ;
-
L a i n c a r c a r e D o c . c l a s s , s e i n i t i a l i z e az a t o t i m e m b r i s t a t i c
- L a n ew Do g ( ) se a lo ca memo r ie p e h eap p en t ru n o u l
o b iec t , aceas t a zo n a d e memo r ie se u mp le cu 0
( p r i m i t i v el e s u n t i n i t i a l i z at e l a v a l o a r e a i m p l i c i t a )
-
Se rea l i zeaza to a ta in i t i a l i za r i l e ex p l i c i t e l a mo men tu l
d e f i n i r i d a t e l o r m e m b e r
-
Se ex ecu ta co n s t ru c to ru l ;
7/26/2019 Teorie Java hatz
16/50
1 6
B LO C U L S T A T IC
- St a t ic { /* in i t ia l i zar i* / }
-
Blo cu l s t a t i c e s t e ap e la t o s in g u ra d a ta , l a p r ima c rea re a
u n u i o b iec t d in c l asa r esp ec t iv e sau l a ap e lea rea u n e i
m e m b e r s t a t i c e d i n a c e a c l a s a ;
-
B l o c u l s t a t i c p o a t e s a i n i t i a l i z e z e d o a r d a t e s t a t i c e
IN IT IA L IZ A R E PR IN B LO C NO N-S T A T IC
- { / * o p e r at i i * / } ; / / f a r a s t a t i c i n a i n t e ;
- I n t r e a c c o l a d e s e s p e c i f i c a o p e r a t i i d e i n i t i a l i z a r e c a r e
t reb u ie e f fec tu a te in d i f fe ren t d e ca re co n s t ru c to r e s t e
a p e l a t ;
- Blo cu l n o n -s t a t i c d e in i t i a l i za re es t e n ecesa r p en t ru a se
p e rm i t e d e f in i re a c l a se lo r in t e r n e a no n im e .
IN IT IA L IZ A R EA S IR U R ILO R- Si ru r i l e su n t d e f in i t e p r in o p era to ru l d e in d ex are : in t [ ] a ;
-
Pen t ru a se c rea sp a t iu d e memo r ie p en t ru s i r , s i ru l
t r e b u i e i n i t i a l i z a t ;
- Fiecare s i r a re u n memb ru in t r i sec : l en g th ( lu n g imea
s i r u l u i ) ;
-
E lemen te le su n t in d ex a te d e l a 0 l a l en g th -1 ;
- In t eger [ ] a= new in t eger [ rand .nex t Int ( 20 )] ; / / s e c r e a z a
d o ar u n s i r d e r e fe r in te , f i eca re d in e l e t r eb u ie ap o i
in i t i a l i za te , d e ex : a [ i ]=ran d .n ex t In t (5 0 0 ) ;
C O NT R O LU L A C C ES U LU I C l ase
-
Pack ag e : c l ase g ru p a te imp reu n a in t r -u n s in g u r sp a t iu d e
n u me lo g ic ;
- Orice c l asa d in t r -u n p ack ag e p o a te f ace r e fe r i r e d i rec ta
l a o a l t a c l a s a d i n a c e l a s i p a c k a g e ;
- P e n t r u a c c e s a r e a c l a s e l o r d i n a l t e p a c k a g e - u r i s e
u t i l i z e a z a i m p o r t
- L ip sa d e f in i t i e i d e p ack ag e : p ack ag e-u l d e fau l t ;
Nu s e r ec om an d a u t i l i z a r e a a ce s t u i a ;
-
S p e c i f i c a t or u l d e a c c e s p u b l i c l a c l a s e ; Pen t ru a p u tea f i r e fe r i t a d in a fa ra p ack ag eu lu i ;
- Clase le f a ra sp ec i f i ca to r d e acces : n u p o t f i r e fe r i t e d in
a f a r a p a c k a g e - u l ui .
C O NT R O LU L A C C ES U LU I Me mbr i i C l ase l or
- Pu b l i c :
M e m b r i i p u b l i ci p o t f i r e f e r i t i d i n a f a r a c l a s e l o r ;
S p e c i f i c a i n t e r f a t a c l a s e l o r ;
-
P r i v a t e :
Po t f i r e fe r i t i d o ar d in in te r io ru l c l ase lo r d e d e f in i re ;
S p e c i f i c a i n t e r f a t a c l a s e l o r ;
-
Fara sp ec i f i ca to r d e acces acces p ack ag e ;
7/26/2019 Teorie Java hatz
17/50
1 7
Po t f i r e fe r i t i d in c l ase le p ack ag e-u lu i cu ren t ;
-
Pro tec ted : fo lo s i t i n co n tex tu a l mo s ten i r i i .
7/26/2019 Teorie Java hatz
18/50
1 8
CURS 4.
R EA LIZ A R EA C LA S ELO R
- COMPOZ IT IE ;
- MOST E NIRE ;
-
AL E GE RE A INT RE MOST E RNIRE S I COMPOZ IT IE-
ME CANISMUL DE UPCAST
REUTILIZAREA CODULUI:- In seamn a mai mu l t d eca t co p y -p as te co d
- Op era t i i p r in c ip a le : Co mp o z i t i e s i Mo s ten i re ;
-
Sin tax a co mp o z i t i e i : se p laseaza o r e fe r in ta ca t re u n
o b iec t n o u in t r -o c l asa n o u a ;
- Refer in te l e n o u c rea te se in i t i a l i zeaza l a v a lo a rea n u l l ->
t r e b u i e i n i t i a l i z a t e e x p l i c i t ;
-
Meto d a to S t r in g : mo s ten i t a d e l a c l asa Ob jec t : se
p e rm in te co n v e r t i r ea ob i ec tu l u i i n t r -u n o b i e c t S t r in g
( n e c e s a r p e n t r u t i p a r i r e )
IN IT IA L IZ A R EA R EFER INT ELO R LA R EA L IZ A R EA C O MPO Z IT IE I
- I n i t i a l i z a r e a s e p o a t e r e a l i z a i n 4 m o d u r i :
1 . L a mo men tu l d e f in i r i i o b iec tu lu i i n i t i a l i z a r e a s e f a c e
in a in te d e ap e la rea co n s t ru c to ru lu i ;
2 . In co n s t ru c to r ;
3 . Ch ia r in a in te d e u t i l i za rea o b iec tu lu i ( l azy
i n i t i a l i z a t i o n )4 . In s t an ce in i t i a l i za t io n i n b lo c n o n -s t a t i c d e
i n i t i a l i z a r e :
S INT A XA MO S T ENIR I I :
- M o s t e n i r e a s e r e a l i z e az a o r i d e c a t e o r i s e c r e a z a o c l a s a :
Se mo s ten es te d in OBJE CT ;
- Mo sten i re : c l asa n o u a se aseaman a cu c l asa v ech e :
cu v an tu l ch e ie ex ten d s ;
-
Clasa n o u a v a p re lu a au to mat to a te camp u r i l e s i me to d e le
d i n c l a s a d e b a z a
- Reg u la n esc r i sa l a mo s ten i re : Camp u r i l e d in c l ase le d e
b az a s e s c r i u p r i v at e i a r m e t od e le s e l a s a p ub l i c ( sa u
p r o t ec t e d)
- Clasa d e r iv a te , p en t ru a se ap e l a o meto d a d in c l asa d e
b az a s e po a t e u t i l i z a s u p e r
-
Real i za rea mo s ten i r i i : l a c rea rea o b iecu lu i d in c l asa
d er iv a te , se c reaz a u n su b o b iec t d in c l asa d e b aza (ca s i
c u m a r f i r e a l i z a t a o c o m p o z i t i e c a t r e a c e s t a )
-
In i t i a l i za rea su b o b iec tu lu i d in c l asa d e b aza : d o ar p r in
c o n s t r u c t o r ;
7/26/2019 Teorie Java hatz
19/50
1 9
- Co n s t ru c to ru l c l ase i d e b aza es t e ap e la t in to td eau n a
in a in tea co n s t ru c to ru lu i c l ase i d e r iv a te
- Pen t ru ap e l a l co n s t ru c to ru lu i c l ase i d e b aza cu
a r g u m e n t e :
Super ( argument e )
I S -A vs I s -L i ke -A
- Rela t i a d e mo s ten i re d e t ip i s -a : c l a sa d e r iv a te d o ar
s u p r a s c r i e i n t e r f a t a c l a s e i d e b a z a ;
-
R e l a t i a d e m o s t e n i r e d e t i p i s - l i k e - a : c l a s a d e r i v a t e
co n t in e meto d e su p l imen ta re f a t a d e c l asa d e b aza
- Rela t i a d e su b s t i tu t i e :
L a o re l a t i e d e t ip i s -a su b s t i tu t i a e s t e p u ra : o r i ce
mesa j t r im is c l ase i d e r iv a te p o a te f i o mis s i t r im is
c lase i d e b aza ( r ezo lv a rea mesa ju lu i se f ace p r inu p c a s t )
L a o re l a t i e d e t ip i s - l ik e -a : p a r t ea ex t in sa d in c l asa
d er iv a te n u mai e s t e d in sp o n ib i l a p r in u p cas t (p r in
a d r e s a r e a c l a s e i d e b a z a )
- Do wn cas t : o p era t i a in v er sa u p cas t n u es t e o o p era t i e
g aran ta ta , i n sen su l in ca re n u s t im ex ac t c l asa d e r iv a te
c a t r e c a r e s e f a c e d o w n c a s t ;
- Jav a v e r i f i ca o r i ce co n v ers i e (cas t ) , s i d aca n u se p o a te
rea l i za se a ru n ca o ex cep t i e d e t ip u l C lassCas tE x cep t io n
O PER A T IA DE DELEGA R E
- O p e r a t i e i n t e r m e d i ar a i n t r e c o m p oz i t i e s i a g r e g a r e
- In t r -o c l asa se p laseaza u n o b iec t memb ru d in a 2 -a
c lasa , i a r c l asa n o u a v a ex p u n e to a te meto d e le fu rn iza te
d e o b iec tu l d in c l asa a 2 -a
-
Pen t ru r eu t i l i za rea o p era t i i lo r d e mo s ten i re / co mp o z i t i e ,
e s t e su f f i c i en t ca sa se imp o r te c l ase le r eu t i l i za te (co d u l
lo r su r sa n u es t e n ecesa r )
A S C U NDER EA NU MELO R LA MO S T ENIR E
-
L a su p rasc r i e rea u n e i me to d e , su p ra in ca rca te d in c l asa d e
b az a , num el e c a r e s u n t s up r a i n ca rc a t e d in c l as a d e b az a
n u d ev in ascu n se ! ! !
- Su p ra in carca rea fu n c t io n eaza in d i f fe ren t u n d e es t e ea
r e a l i z a t a : i n c l a s a d e b a z a s a u i n c e a d e r i v a t e
A LEGER EA INT R E C O MPO Z IT IE S I MO S T ENIR E
-
Co mp o z i t i a se a l l eg e a tu n c i can d in te r fa t a c l ase i d e b aza
n u se d o res te a f i ex p u sa in c l asa d e r iv a te ;
- Co mp o z i t i a se f ace , d e o b ice i p r in ag reg are p r iv a te ;
-
Mo sten i rea se fo lo ses te a tu n c i can d in te r fa t a c l ase i d eb az a s e do r es t e p re l u a t a s i ex p us a i n c l a sa d e r i v a t e
7/26/2019 Teorie Java hatz
20/50
2 0
- Pro tec ted : fu n c t io n eaza ca s i p r iv a te in a fa ra i e ra rh ie i ;
-
Up cas t : Ob iec te l e d in t ip u l c l ase i d e r iv a te su n t in ace las i
t i m p s i d i n t i p u l c l a s e i d e b a z a
FINAL
-
I t emi i f in a l i : n u p o t f i sc t imb a t i (d e ex emp lu in t r -o c l asa
d e r i v a t a )
- D a t e l e f i n a l :
Co n s tan te l a co mp i la re ca re n u se sch imb a u l t e r io r
Valo r i in i t i a l i za te l a ru n t ime ca re n u se d o res te sa f i e
s c h i m b a t e ;
Sta t i c f in a l : au o s in g u ra lo ca t i e d e s to ca re a d a te i .
-
Fin a l ap l i ca t l a o r e fe r in ta : f ace r e fe r in ta co n s tan ta ,
v a lo a rea o b iec tu lu i p o a te f i mo d i f i ca ta
- Blan k f in a l : camp u r i d ec la ra te f in a l ca re n u su n t
i n i t i a l i z a t e - > e s t e t r e b u i e i n i t i a l i z at e i n a i n t e d e
u t i l i z a r e ;
-
Arg u men te f in a l : i n meto d an u se p o a te sch imb a v a lo a re a
c a t r e c a r e a r a t a r e f e r i n t a ;
- Meto d e f in a l : n u p o t f i sch imb a te p r in mo s ten i re ;
-
Meto d e le f in a l su n t t r a t a t e in l in e d e ca t re co mp i la to r ;
-
C l a s e f i n a l : s e i n h i b a m o s t e ni r e a d i n c l a s a r e s p e c t i ve ;
MEC A NIS MU L U PC A S T
- Aso c ie rea d in t re n u mele meto d e i s i co rp u l me to d e i
l eg a re (b in d in g )-
E ar ly b in d in g : a tu n c i can d l eg area se f ace l a co mp i la re ;
- L ate b in d in g : a tu n c i can d l eg area se f ace l a ex ecu t i e ,
ex ac t in a in te d e ex ecu t i a e fec t iv a a meto d e i .
- L ate b in d in g : n eces i t a u n mecan i sm p en t ru id en t i f i ca rea
t ip u lu i l a ex ecu t i e RT T I p en t ru a se id en t i f i ca in mo d
co r rec t co rp u l me to d e i ca re t r eb u ie ap e la t
- In Jav a se u t i l i zeaza l a t e b in d in g p en t ru o r i ce ap e l d e
meto d a , cu ex cep t i a meto d e lo r s t a t i c s i f in a l (p r iv a te e
imp l ic i t f in a l p t ca o meto d a p r iv a te n u p o a te f i
m o s t e n i t a )- De ce e n ev o ie sa d ec la ram o meto d a f in a l? Pen t ru a
in h ib a l a t e b in d in g (c res t e e f i c i en ta l a ex ecu t i e )
- C a m p u r i l e s i e l e m e n t e l e s t a t i c s u n t r e z o l v a t e l a
c o m p i l a r e
- L e g a r e a c o n s t r u c t or i l o r e s t e r e a l i z a t a l a c o m p il a r e
DO WNC A S T
-
Do wn cas t : o p era t i a in v er sa u p cas t n u es t e o o p era t i e
g aran ta ta in sen su l in ca re n u s t im ex ac t c l asa d e r iv a te
c a t r e c a r e s e f a c e d o w n c a s t- Do wn cas t t r eb u ie r ea l i za t ex p l i c i t d e ca t re p ro g ramato r
7/26/2019 Teorie Java hatz
21/50
2 1
- Jav a v e r i f i ca o r i ce co n v ers i e ( cas t ) , s i d aca n u se p o a te
rea l i za se a ru n ca o ex cep t i e d e t ip u l C lassCas tE x cep t io n
O R DINEA DE A PELA R E A C O NS T R U C T O R ILO R
- In cazu l o b iec te lo r co mp lex e (cu mo s ten i re ) , o rd in ea d e
ap e la re a co n s t ru c to r i lo r e s t e :1 . Se ap e leaza co n s t ru c to ru l c l ase i d e b aza . Ap e lu l e s t e
recu rs iv e , p an a l a v a r fu l i e ra rh ie i ( co n s t ru c to ru l t ip u lu i
d in v a r f e s t e ap e la t p r imu l )
2 . Se in i t i a l i zeaza memb r i i c l a se i in o rd in ea d ec la ra r i i
a c e s t o r a ;
Se ap e leaza co rp u l co n s t ru c to ru lu i c l ase i d e r iv a te ;
- Ce se in tamp la d aca in co n s t ru c to r se ap e le aza o meto d a
p r e su p u sa a s e l e ga d yn a mi c?
In co n s t ru c to r se ap e leaza ex c lu s iv e meto d asu p rasc r i sa ( cea d in c l asa cu co n s t ru c to ru l l e g a r e a
es te d e t ip ea r ly )
-
Co v ar ian t r e tu rn ty p es :
O meto d a su p rasc r i sa d in t r - l c l a sa d e r iv a te p o a te
re tu rn a u n t ip d e r iv a t d in t r -u n t ip r e tu rn a t d e met o d a
d i n c l a s a d e b a z a ( c a r e e s t e s u p r a s c r i s a. )
7/26/2019 Teorie Java hatz
22/50
2 2
CURS 5
In te r fe te
Cu p r in s :
CL ASE ABST RACT E
INT E RFE T E
DE SIGN PAT T E RNUL ST RAT E GY SI ADAPT E R
DE SIGN PAT E RNUL FACT ORY
C LA S E A B S T R A C T E
-
Ro lu l c l ase i In s t ru men t (v a r fu l i e ra rh ie i ) : sa c reeze o
in te r fa t a co mu n a c lase lo r d e r iv a te (meto d a p lay d in
In s t rume n t e s t e dummy ) => ob ie c te le d in c l a s a
i n s t ru men t n u au sen s (d in p u n c t d e v ed ere lo g ic ) =>c l a s a i n s t r u m e n t e s t e o c l a s a a b s t r a c t a
-
Pen t ru a E v i t a a s t f e l d e e ro r i l a ex ecu t i e (c rea rea d e
o b iec te d in t r -u n as t f e l d e t ip ) ex i s t a u n mech an i sm p r in
c a r e s e d e c l a r a c l a s e l e a b s t r a c t e ( s i c a r e v e r i f i c a l a
co mp i la re ) : cu v an tu l ch e ie ab s t rac t
-
Clasa ab s t rac ta a re ce l p u t in o meto d a ab s t rac ta (meto d a
d e c l a r a t a a b s t r a c t a s i c a r e n u a r e c o r p )
- Se g en ereaza e ro a re l a co mp i la re d aca se in cea rca
c r e a r e a u n u i o b i e c t d i n t r - o c l a s a a b s t r a c t a
-
L a mo s ten i re d in t r -o c l asa ab s t rac ta , me to d a ab s t rac tat r eb u ie su p rasc r i sa , a l t f e l c l a sa d e r iv a te d ev in e s i ea
a b s t r a c t a .
C O NC EPT U L DE INT ER FA T A
-
In c l asa ab s t rac ta se fu rn izeaza o p a r t e d in in te r fa t a i a r
imp lemen ta rea aces te i a e s t e l a sa ta p e seama c lase lo r
d e r i v a t e
- Cu v an tu l ch e ie in t e r face : p ro d u ce o c l asa ab s t rac ta f a ra
n ic i o imp lemen ta re d e meto d e
-
Orice co d e ca re u t i l i zeaza o an u me in te r fa t a v a s t i cemeto d e se p o t ap e la ( s i d o ar a t a t )
-
In te r fe te le pe rmi t r e a l i z a re a mos te n i r i i mu l t ip le
- In te r fe t e l e p o t co n t in e camp u r i : aces tea su n t imp l i c i t
s t a t i c s i f i n a l
- Imp lemen ta rea u n e i in t e r fe t e : cu v an tu l ch e ie imp lemen t s
7/26/2019 Teorie Java hatz
23/50
2 3
DES IGN PA T T ER NU L S T R A T EGY
- Crearea u n e i me to d e ca re sa a ib a co mp o r tamen t d i fe r i t i n
f u n c t i e d e t i p u l a r g u m e n t ul u i c a r e s e p r e z i n t a l a i n t r a r e
Meto d a co n t in e o p a r t e f ix a ca re es t e ap e la t a d e
f i e c a r e d a t a s i o p a r t e c a r e v a r i a z a ( s t r a t e g i a )
-
In cazu l In ca re n u se u t i l i zeaza in te r fe t e , d aca d o r im sa
ap l i cam meto d a ( s t r a t eg ia ) u n u i o b iec t d in t r -o c l asa ca re
n u face p a r t e d in i e ra rh ie , n u se p o a te . => in ex emp lu l
Ap p ly s i P ro cesso r , ex i s t a o cu mp la re fo a r t e p u te rn ica
i n t r e m e t o d a A p p l y . pr o c e s s i c l a s a P r o c e s o r , a s t f e l i n c a t
aceas ta meto d a n u p o a te f i ap l i ca ta d eca t o b iec te lo r d in
ie ra rh ia p ro cesso r , s i n i c id ecu m a l to r o b iec te d in a l t e
i e r a r h i i .
- P r o c e s o r s e c r e a z a c a s i o i n t e r f a t a , i a r c l a s e l e c a r e
d o resc sa f aca p a r t e d in s t r a t eg ie v o r imp lemen ta
i n t e r f a t a s c r i s a .
DES IGN PA T T ER NU L A DA PT ER
- Ce se in tamp la in cazu l in ca re d o r im sa u t i l i za m in
s t r a t e g i e o c l a s a i m p o r t a t a d i n t r - o a l t a b i b l i o t e c a?
- Des ig p a t t e rn u l Ad ap te r : se sc r i e co d ca re p re ia l a in t r a re
in te r fa t a ex i s t en t s i ca re sa p ro d u ca in te r fa t a d e ca re es t e
n ev o ie in p ro g ram
-
Pr in d ecu p la rea in te r fe t e i d e imp lemen ta re se p e rmi te ca
o in te r fa t a sa f i e ap l i ca ta mai mu l to r imp lemen ta r i , d ec i
co d u l d ev in e mai f ac i l d e r eu t i l i za t .
MO S T ENIR EA MU LT IPLA
- In j av a se p o a te ex t in d e o s in g u ra c l asa s i se p o t
i m p l e m e nt a o r i c a t e c l a s e
- Ro lu l in t e r fe t e lo r : sa se p o a ta f ace u p cas t l a ma i mu l t
d e c a t o c l a s a d e b a z a
-
Daca se p o a te c rea o c l asa d e b aza fa ra d e f in i t i i d e
meto d e s i v a r i ab i l e memb er , se r eco man d a sa se c reeze
i n t e r f e t e i n l o c u l c l a s e l o r a b s t r a c t e
-
In te r fe t e l e se p o t co mb in a( se ex ten d in te r fe t e l e l a f e l cas i c l a s e l e )
- Co l iz iu n ea n u melo r l a imp lemen ta rea mai mu l to r
in te r fe t e (d aca in te r fe t e l e d e b aza au ace las i n u me d e
meto d a cu semn atu r i d i f e r i t e ) : e s t e o p ro b lema d aca
meto d e le d i fe ra d o ar p r in t ip d e r e tu rn => e ro ar e l a
c o m p i l a r e .
- Camp u r i l e ca re su n t in se ra te in t r -o in te r fa t a d ev in in
mo d au to mat s t a t i c s i f in a l => rep rez in ta u n mo d
co n v en ab i l p en t ru a d e f in e co n s tan t ( s imi la r cu en u m)
-
Camp u r i l e d e f in i t e in in t e r f e t e n u p o t f i b l an k f in a l s , e l et r e b u i e i n i t i a l i z a t e l a d e f i n i r e .
7/26/2019 Teorie Java hatz
24/50
2 4
DES IGN PA T T ER NU L FA C T O R YMET HO D
- Ro lu l u n e i in t e r fe t e : sa p e rmi ta imp lemen ta r i mu l t ip le
p e n t ru d i v e r s e c l as e
- Des ig n p a t t e rn u l Fac to ry : in lo c sa se ap e lez e u n
co n s t ru c to r in mo d d i rec t , p en t ru c rea rea u n u i o b iec t s e
a p e l e a z a o m e t o d a d e c r e a r e a o b i e c t u l u i d i n t r - o c l a s a
Fac to ry . C lasa Fac to ry imp lemen teaza o in te r fa t a ca re
s p e c i f i c a m e t o d a d e c r e a r e .
- Ast fe l , se p o a te sch imb a l a ru n t ime o imp lemen ta re a
u n e i fu n c t io n a l i t a t i cu a l t a .
7/26/2019 Teorie Java hatz
25/50
2 5
CURS 6
C LA S E INT ER IO A R E
INNER C LA S S ES
- S e p l a s e a z a c l a s e i n i n t e r i o r u l a l t o r c l a s e
-
In n er c l asses r ep rez in ta u n co n cep t d i f e r i t d e co mp o z i t i e
- De o b ice i , c l a sa ex te r io a ra a re o meto d a ca re r e tu rn eaza
u n o b i e c t d i n c l a s a i n e e r .
- T ip u l o b iec tu lu i d in c l asa in te r io a ra se sp ec i f i ca p recu m:
Ou te rC lass . In n erC lass
- Ob iec tu l c l ase i in t e r io a re a re u n l in k ( re fe r in ta ) ca t re
o b i e c t u l c l a s e i e x t e r i o a r e c a r e l - a c r e a t ! ! !
-
Ob iec tu l c l ase i in t e r io a re p o a te accesa memb r i i
o b i e c t u l ui c l a s e i e x t e r i o a r e f a r a c a s a f i e n e v o i e d e
ca l i f i ca re (d rep tu l d e a accesa es t e a su p ra tu tu ro r
o b i e c t e l o r m e m br e a l e c l a s e i e x t e r i o a r e )
- Pen t ru a se o b t in e r e fe r in ta l a o b iec tu l c l ase i ex te r io a re
(d in o b iec tu l c l ase i in t e r io a re ) se u t i l i zeaza
Ou te rT y p e . th i s
- Pen t ru a c rea u n o b iec t d in c l asa in n er p o rn in d d e l a u n
o b i e c t d i n c l a s a o u t e r s e p o a t e u t i l i z a o b i e c t . Ou t e r . n e w
- Clase le in n er su n t p o t r iv i t e p en t ru a imp lemen ta
i n t e r f e t e : s e r e a l i z e a z a a s c u n d e r e a i m p l e m e n t a ri i .
- Clase le in t e r io a re p o t f i c rea te in t r -o meto d a sau
d o men iu d e v iz ib i l i t a t e d eo arece :
S e i m p l e m e n t e a z a o i n t e r f a t a , d e c i s e p o a t e c r e a s i
r e tu rn a o r e fe r in ta l a aceas ta (u p cas t )
Se rezo lv a o p ro b lema co mp l ica ta s i d o r im sa c reem o
c lasa ca re sa n e a ju te l a r ez o lv a rea p ro b lemei , d a r n u
d o r im ca aceas ta sa f i e p u b l i ca .
- Clasa in te r io a ra p o a te f i accesa ta d o ar d in in te r io ru l
meto d e i ( sau d o men iu lu i d e v iz ib i l i t a t e ) u n d e a fo s t
c r e a t a ,
C LA S E INT ER IO A R E A NO NMIE .
- Su n t c l ase in te r io a re f a ra n u me (c lase c rea te d i rec t l a
mo men tu l u t i l i za r i i l o r )
-
Fin a l i zeaza co n s t ru c t i a in s t ru c t iu n i i ca re co n t in e
d ef in i t i a c l ase i an o n ime
- Camp u r i l e d in c l ase le an o n ime p o t f i i n i t i a l i za te cu
v a lo r i d in a fa ra (d in d o men iu l u n d e se c reaza c l asa )
-
Daca in t r -o c l asa an o n ima se d o res te a f i u t i l i za t u n
arg u men t ( sau o v a lo a re ) d e f in i t i a in a fa ra aces te i a ,
a t u n c i r e f e r i n t a a c e s t e i a t r e b u i e s a f i e f i n a l .
7/26/2019 Teorie Java hatz
26/50
2 6
- Clase le an o n ime n u p o t av ea co n s t ru c to r , d a r
i n i t i a l i z a r i i l e s e p o t r e a l i z a i n b l o c u l n o n - s t a t i c d e
i n i t i a l i z a r e .
- Clase le in t e r io a re p o t f i c rea te s t a t i c (n es ted . c l ases ) d aca
n u se d o res te u t i l i za rea r e fe r in te i o b iec tu lu i ex te r io r in
i n t e r i o r ul c l a s e i i n n e r .
- C l a s e l e i n t e r i o a r e p a r t e a u n e i i n t e r f e t e d e v i n a u t o m a t
s t a t i c p u b l i c . Ro l : c rea r ea d e co d co mu n ca re sa f i e
u t i l i z a t d e t o a t e i m p l e m en t a r i i l e i n t e r f e t e i .
- Orica t d e ad an ca es t e imb r ica rea c l ase lo r n es ted , aces tea
p o t a cc es a ob i e c te m em b re d in c l as e l e ex t e r i o a r e ,
in d i fe ren t d e n iv e lu l d e imb r ica re .
DE C E C LA S E INNER
-
Fiecare c l as a in n er p o a te in mo d in d ep en d en t sa
mo s ten easca d e l a o a l t a imp lemen ta re . Dec i o c l asain n er n u es t e l im i ta t a d e f ap tu l ca c l asa ex te r io a ra
mo s ten es te sau n u o imp lemen ta re .
-
Clasa in te r io a ra p o a te av ea in te r fe t e mu l t ip le , f i eca re cu
p r op r i a s t a r e , c a r e e s t e i nd e p en d en t a d e s t a re a o b i e c tu lu i
d i n c l a s a e x t e r i o a ra .
- O s in g u ra c l asa ex te r io a ra p o a te av ea mai mu l t e c l ase
in te r io a re f i eca re imp lemen tan d aceas i in t e r fa t a sau
mo s ten in d d in aceas i c l asa in mai mu l t e f e lu r i .
- L a mo men tu l c rea r i i o b iec tu lu i d in c l asa in n er , aces ta n u
es te l eg a t d e c rea rea o b iec tu lu i d in c l asa o u te r .- In n er C lass e s t e o c l asa to ta l d i f e r i t a d e c l asa ex te r io a ra ,
n u ex i s t a co n fu z ie d e t ip u l i s - a .
C LO S U R ES & C A LLB A C K S
- Clo su re : u n o b iec t ap e lab i l ca re r e t in e in fo rmat i e d esp re
d o men iu l d e v iz ib i l i t a t e in ca re a fo s t c rea t ( a re acces l a
v ar i ab i l e l e d in d o men iu l d e v iz ib i l i t a t e u n d e a fo s t c rea t )
=> c lasa in te r io a ra es t e u n c lo su re (d eo arece a re o
re fe r in ta ca t re o b iec tu l ex te r io r s i p o a te sa acceseze
i n c l u s i v m e m b r i i p r i v a t i a i c l a s e i e x t e r i o a r e ) .- Cal lb ack : Un o b iec t p r imes te o in fo rmat i e ca re v a
p e rm i t e s a ap el am o b i e c t u l in i t i a l l a un m om en t u l t e r i o r
d e t imp .
-
Cal lb ack se imp lemen teaza cu c l ase in te r io a re .
- Clasa d e t ip C lo su re fu rn izeaz a o p o ar t a in in t e r io ru l
c l ase i ex te r io a re (d a r in t r -u n mo d se i f n u se n eces i t a ca
s a t r a n s f o r m a m a c c e s u l l a m e t o d e l e a c e s t e i c l a s e )
-
De ce ca l lb ack s? L a ex ecu t i e , se p o a te sch imb a meto d a
care es t e ap e la t a in mo d d in amic
7/26/2019 Teorie Java hatz
27/50
2 7
C O NT R O L FR A MEWO R K S
- Ap p l ica t io n f r amewo rk : u n se t d e c l ase p ro iec ta t e sa
rezo lv e u n t ip an u me d e p ro b lema (d es ig n p a t t e rn u l
T emp la te Meth o d )
- Pen t ru ap l i ca rea ap p l i ca t io n f r amewo rk se mo s ten esc d in
c lase le d e b aza s i se sch imb a imp lemen ta rea p r in
o v er r id in g .
- Co d u l su p rasc r i s e s t e ce l ca re cu s to mizeaza so lu t i a l a
c a z u l p a r t i c u l a r ;
-
T emp la te Meth o d : co n t in e s t ru c tu ra d e b aza a
a lg o r i tmu lu i , i a r p a r t i l e sp ec i f i ce su n t ap e lu r i l a me to d e
care p o t f i o v er r id e .
- Ast fe l se sep ara p a r t i i l e n esch imb a te a l e a lg o r i tmu lu i d e
c e l e f l e x i b i l e ;
-
Co n t ro l f r amewo rk : u n t ip p a r t i cu la r d e ap p l i ca t io n
f ramewo rk p r in ca re s i s t emu l r asp u n d e l a ev en imen te
g en era te ( s i s t em ev en t -d r iv en ) - de e xe mplu GUIs
-
In imp lemen ta rea Co n t ro l F ramewo rk , in n er c l ass su n t
u t i l i za te p en t ru a ex p r ima d iv e r se le ac t iu n i . (me to d a
a c t i o n )
MO S T ENIR E D IN C LA S E INNER
- L a mo s ten i re d in t r -o c l asa in n er , t r eb u ie fu rn iza t l a
co n s t ru c t i a o b iec t u lu i u n o b iec t d in c l asa in n er , p en t ru a
se p e rmi te co n s t ru i rea su b -o b iecu lu i
c l . b aza (ecn lo s in g ClassRefe ren ce . su p er ( ) )- Clase le lo ca le u n u i d o men iu d e v iz ib i l i t a t e au acces l a
to a te v a r i ab i l e l e d o men iu lu i r e sp ec t iv ( in c lu s iv ce l f in a l ) ,
i n s a a c e s t e c l a s e n u a u s p e c i f i c a t o r d e a c c e s .
7/26/2019 Teorie Java hatz
28/50
2 8
CURS 7
C O LEC T I I , EXC EPT I I
Si ru r i l e d e o b iec te ( a r ray s ) : r ep rez in ta ce l ma i e f i c i en t mo d
p e n t ru a p as t r a o b ie c t e .
Ne a j u ns : Au d im ens i u n ea f ix a t a l a com pi l a r e
- Jav a .u t i l c l a se co n ta in e re : L i s t , Se t , QUE UE , Map
- Pre- Jav a SE 5 : co n ta in e re le j av a p o t memo ra o r i ce t ip d e
o b iec te , d ec i p o t ap area e ro r i
-
De ex emp lu : Ar ray L is t a re meto d e ad d s i g e t d e f in i t e
u t i l i zan d c lasa o b jec t .
- E ro r i l e l a r eg as i rea o b iec te lo r d in co n ta in e r p o t sa f i e
id en t i f i ca te d o ar l a ex ecu t i e (C lassCas t tE x cep t io n )
C O NT A INER E GENER IC E-
T ip Co n ta in e r
- In co n ta in e r se p o t p as t r a d o ar o b iec te d in t ip u l d e b aza
- Se o b t in e e ro a re l a co mp i la re d aca se in cea rca s to ca rea
u n u i o b iec t d in t r -u n a l t t i p
-
Nu m ai e s t e n e ces a r a op er a t i a d e cas t ( co n v e rs i e ) l a
r e g a s i r e a o b i e c t e l o r
- O p e r a t i i d e e f e c t u a t l a u t i l i z a r e a c o n t a i n er e l o r :
Def in i rea o b iec tu lu i d e t ip co n ta in e r ;
In se ra rea d e o b iec te in co n ta in e r (d e ex : Meto d a ad d )
Reg as i rea o b iec te lo r (d e ex Meto d a g e t ) Daca su n t co n ta in e re g en er i ce n u mai e s t e
n ev o ie d e cas t ;
L a co n ta in e re p re - Jav aSE , t r eb u ie
co n v ers i e .
T IPU R I DE C O NT A INER E J A V A
-
Co lec t i i : memo reaza o secv en ta d e e l emen te in d iv id u a le ,
imp reu n a cu u n a sau mai mu l t e r eg u l i ap l i ca te aces to ra
L is t : memo reaza o b iec te l e in o rd in ea in ca re au fo s t
i n s e r a t e ; Set : n u se p e rmi t o b iec te d u p l i ca t ;
Qu eu e : se r eg ases te d u p a o rd in ea fu rn iza ta d e r eg u la
d e i n s i r u i r e .
-
Map : r ep rez in ta g ru p u r i d e p e rech i d e t ip (ch e ie ,v a lo a re )
In t r -u n Map se r eg ases te u n o b iec t (v a lo a rea ) fu rn iza ta
p r i n c h e i
- Co l lec t io n , L i s t , Se t , Qu eu e s i Map rep rez in ta in t e r fe t e .
-
L is t ap p les = n ew Array L is t( ) ;
- L is t ap p les = n ewL in k ed L is t( ) ;
-
In co lec t i i se p o t ad au g a g ru p u r i d e e l emen te- Co l lec t io n .Ar ray . asL i s t ( ) Co l l ec t io n . ad d Al l ( )
7/26/2019 Teorie Java hatz
29/50
2 9
LU C R U L C U C O NT A INER E
- T ip ar i r ea aces to ra : me to d a to S t r in g ;
-
So r ta re : me to d a So r t
L IS T E : 2 T IPU R I DE L IS T E
-
Array L is t : l i s t a imp lemen ta ta cu u n s i r . Pe rmi te o p era t i ir ap id e p en t ru acces r an d o m la e l emen te . Op era t i i l e d e
i n s e r a r e s i s t e r g e r e d e l a m i j l o c u l l i s t e i s u n t c o s t i s i t o a r e.
- L in k ed L is t : l i s t a imp lemen ta ta cu l i s t a s imp lu in la tu i t a .
Permi te o p era t i i r ap id e d e in se r t i e s i s t e rg e re d e l a
mi j lo cu l l i s t e i , i n sa o p era t i i l e d e r eg as i re a l ea to a re su n t
c o s t i s i t o a r e .
I T ER A T O R I
-
E ste u n d es ig n p a t t e rn
-
U n o b i e c t d e t i p i t e r a t o r e s t e a s o c i a t u n e i c o l e c t i i s ip e rm i t e r e ga s i r e a o r d on at a a ob i ec t e lo r d i n c o l e c t i a
r e s p e c t i v a ;
- Meto d a i t e ra to r ( ) a u n e i co lec t i i
- Meto d a n ex t ( ) a o b iec tu lu i i t e ra to r : p ro d u ce u rmato ru l
e l e m e n t d i n c o l e c t i e ;
-
Meto d a h asNex t ( ) : i n t e ro g h eaza d aca mai su n t e l emen te
n e i t e r a t e
- Meto d a remo v e( ) : s t e rg e u l t imu l e l emen t i t e ra t d in
c o l e c t i e
-
I t e ra to r i i p o t p ro d u ce e l emen te le co lec t i e i d o ar in t r -os i n g u r a d i r e c t i e
- L is t I t e ra to r : fu rn iza t d o ar d e in te r fa t aL i s t , p o a te
p a r c ur ge e l e ment e l e c o l e c t i e i i n a mb e l e d i r ec t i i .
EXC EPT I I
- Nu t o a t e e ro r i l e po t f i p r in s e l a s c r i e rea p ro gr amul u i ( l a
c o m p i l a r e )
- Res tu l p ro b lemelo r t r eb u ie r ezo lv a te l a ex ecu t i e p r in t r -
u n mecan i sm p r in ca re sa o fe re p ro g ramu lu i c l i en t
in fo rmat i a n ecesa ra r ezo lv a r i i s i tu a t i e i => ex cep t io nh an d l in g : s in g u ru l mecan i sm Jav a p en t ru t r a t a rea
e r o r i l o r .
- Co n cep tu l d e ex cep t i e : in d o men iu l d e v iz ib i l i t a t e u n d e
ap are e ro a rea d e o b ice i n u s t im cu m sa o t r a t am, in s a
s t im ca n u p u tem sa co n t in u am cu e ro a rea , a s t f e l ca
t r an smi tem e ro area sp re r ezo lv a re u n u i d o men iu d e
v iz ib i l i t a t e ex te r io r .
- E x cep t io n co n d i t io n : e ro a rea ap aru ta (d e ex emp lu
i m p a r t i r e l a 0 )
-
L a ap ar i t i a u n e i e ro r i : Se c reaza u n o b iec t d e t ip ex cep t i e ( p e h eap cu n ew)
7/26/2019 Teorie Java hatz
30/50
3 0
Fi ru l d e ex ecu t i e cu ren t e s t e in t r e ru p t s i r e fe r in ta l a
o b iec tu l ex cep t i e e s t e t r an smisa in a fa ra co n tex tu lu i
c u r e n t
Mecan i smu l d e ex cep t i o n h an d l in g cau ta u n co n tex t
p o t r i v i t p en t ru r e lua r e a ex ec u t i e i p ro gr amu l u i
Han d le ru l d e ex cep t i e : lo cu l u n d e se r e i a ex ecu t i a
p ro gr am ul u i , r ecu pe re az a p r o gr amu l d e l a e ro a re a
a p a r u t a .
-
Aru n carea u n e i ex cep t i i
I f ( t==NUL L )
T h ro w.n ewNu l lPo in te rE x cep t io n ( ) ;
-
Ob iec te le d e t ip ex cep t i e p o t f i co n s t ru i t e cu a rg u men te
t r a n s m i s e
- L a th ro w se p o a te a ru n ca o r i ce o b iec t d in t r -u n t ip ca re
ex t in d c l asa T h ro wab le (c lasa r ad ac in a a i e ra rh ie i
e x c e p t i i l o r )
- Co n cep tu l d e t r an zac t i e : t o tu l sau n imic
- Premisa fu n d amen ta la a t r an zac t i i lo r : ex i s t en ta
co n cep tu lu i d e ex cep t i e .
GU A R DED R EGIO NS
T ry
{
/ / c o d u l c a r e e s t e s u s c e p t i b i l s a g e n e r e z e e x c e p t i e
} ca tch (T y p e1 tp 1 ){
/ / e x c e p t ii d e t i p u l 2
}ca tch (T y p e2 ){
/ / ex cep t i i d e t ip u l2 }
F in a l ly {
/ / co d ca re se ex ecu ta in d i fe ren t d e t ip u l d e ex cep t i e a ru n ca t ( sau
n u )
}
- T ry -ca tch fu n c t io n eaza ca u n swi tch p e t ip u l d e ex cep t i e
- 2 mo d a l i t a t i d e t r a t a re a e ro r i lo r
T ermin a t io n : e ro a rea es t e a ru n ca ta ;
Resu mp t io n : se in se reaza co d t ry -ca tch p en t ru
rezo lv area e ro r i i .
7/26/2019 Teorie Java hatz
31/50
3 1
C R EA R EA PR O PR I I LO R EXC EPT I I
- Mo sten i re d in c l asa E x cep t io n
- L a a f i sa r i l a o e ro a re se r eco man d a u t i l i za rea Sy s tem.e r r
in lo c d e Sy s tem.o u t ;-
p r in t S t ack T ra c e ( . . ) : s e a f i s e az a s e cv en t a d e me to d e
a p e l a t e p e n t r u a a j u n g e l a e x c e p t i e
- g e tMessag e( . . ) : mo s ten i t d e l a T h ro wab le , e s imi la r cu
to S t r in g p en t ru e ro r i ;
- L o g g in g :
Urmar i rea ex ecu t i e i p ro g ramu lu i p en t ru a p u tea
rezo lv a mai u so r e ro r i l e ;
Jav a .u t i l . l o g g in g
Se c reaza u n o b iec t d e t ip L o g g er ;
Se p o t lo g a mesa je d e t ip f in e , in fo , se rv e re , warn in g ,e t c .
S PEC IF IC A R EA EXC EPT IE I
-
L a o meto d a , p r in th ro ws se in d ica t ip u l e ro r i lo r ca re p o t
f i a ru n ca te d e ca t re meto d a resp ec t iv a ;
- E ro r i l e d e t ip Ru n t imeE x cep t io n n u t r eb u ie sp ec i f i ca te
p r in th ro ws
-
Co mp i la to ru l fo r t eaza p ro g ramato ru l sa sp ec i f i ce
e x c e p t i i l e
Daca in t r -o fu n c t io e es t e p o s ib i l sa ap ara o ex cep t i e s i
p ro gr am at o ru l nu o sp e c i f i c a p r i n th r ows , a t un c i ap ar e
e ro are l a co mp i la re
E ro r i l e v e r i f i ca te s i en fo rced l a co mp i la re : ch eck ed
ex cep t io n s
- Pr in d erea o r i ca re i ex cep t i i : ca t ch (E x cep t io n e ){ . . }
- Stack T race : p r in tS tack T race , g e tS tack T race
- Rearu n carea u n e i ex cep t i i : i n ca tch se f ace th ro w.
INLA NT U IR EA EXC EPT I I LO R
- L a p r in d erea u n e i ex cep t i i s i a ru n carea u n e i a l t e
ex cep t i i , s e d o res te p as t r a rea l an tu lu i ex cep t i i lo r ca rea p a r ;
- Su b c lase le T h ro wab le p o t sa u t i l i zeze ca u za e ro r i i ca s i
a rg u men t in co n s t ru c to r ;
-
Se p o a te fo lo s i c l au za l a co n s t ru c to r d o ar l a c l ase le d e
t ip E r ro r , E x cep t io n sau Ru n t imeE x cep t io n
- L a ce le l a l t e t ip u r i d e e ro r i , s e p o a te u t i l i za In i tCau se .
7/26/2019 Teorie Java hatz
32/50
3 2
I ER A R HIA EXC EPT I I LO R IN J A V A
- Clasa th ro wab le : o r i ce mo s ten i t d in th ro wab le p o a te f i
a ru n ca t cu th ro w;
- 2 t ip u r i d e o b iec te th ro wab le : E r ro r an d E x cep t io n
- E x cep t i i l e j av a mo s ten esc d in c l asa ex cep t io n
-
Nu me l e ex c e p t i e i e s t e su ge s t i v p en t r u c a uz a a p a r i t i e i
e x c e p t i e i
- Ru n t imeE x cep t io n : su n t a ru n ca te in mo d au to mat d e ca t re
j a v a l a m om en tu l ap a r i t i e i l o r u n ch eck ed ex cep t io n s
-
De o b ice i , aces tea in d ica b u g u r i s i n u t r eb u ie p r in se cu
t r y - c a t c h .
EXC EPT I I P IER DU T E
- E x is ta o c l au za f in a l ly f a ra ca tch ;
- S a u i n f i n a l i s e f a c e r e t u r n
-
Pro g ramato ru l n u a re n ic i o in d ica t i e d esp re ex cep t i ap i er du t a
R ES T R IC T I I LA EXC EPT I I
- Can d se su p rasc r i e o meto d a , se p o t a ru n ca d o ar
ex cep t i i l e d e t ip u sp ec i f i ca t in meto d a d in c l asa d e b aza
-
Aten t i e l a ex cep t i i i n co n s t ru c to r i : co n s t ru c to r i i t r eb u ie
sa i s i i n ch e ie cu su cces ex e cu t i a p en t ru a aad u ce
o b i e c t e l e i n t r - o s t a r e s i g u r a ;
- E x cep t io n match in g : se f ace p o t r iv i r e p e cea mai
ap ro p ia ta c l au za ca tch ca re p o t r iv es te cu t ip u l ex cep t i e i .
GU IDEL INES :
- T ra ta t i ex cep t i i l e l a d o men iu l d e v iz ib i l i t a t e p o t r iv i t (n u
p r in de t i ex c ep t i i d ec a t d a ca s t i t i c e s a f ac e t i cu e l e )
- L a rezo lv a re , d e o b ice i se r ezo lv a p ro b lema ex cep t i e i s i
se r e i a ex ecu t i a co d u lu i ca re a g en era t ex cep t i a sau se
t r an smi te ex ecu t i a l a u n n iv e l su p er io r f a ra r e lu a rea
co d u lu i sau se p o a te ca lcu la u n rezu l t a t a l t e rn a t iv ce lu i
p r od us d e co du l c a re a ge n er a t ex c ep t i a s au s e p oa t e
ex ecu ta to t ce e p o s ib i l i n d o men iu l cu re n t s i se a ru n cain aceeas i ex cep t i e l a n iv e l su p er io r sau Se p o a te t e rmin a
p r o g ram ul
- S a f a c e m p r o g r a m e l e n o a s t r e s i m p l e
- Sa facem p ro g ramele n o as t re sa fe p r in d eb u g g in g .
7/26/2019 Teorie Java hatz
33/50
3 3
CURS 8
I / O J ava
S IS T EMU L DE I / O INT R -U N L IMB A J DE PR O GR A MA R E
- Sis temu l d e I /O in t r -u n l imb a j d e p ro g ramare t r eb u ie sa
f i e c a p a b i l s a t r a t e z e
Su rse d i fe r i