Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Classi, Istanze, Ereditarietà e Polimorfismo nella Programmazione ad Oggetti - Prof. Micuc, Appunti di Programmazione Java

Una panoramica delle classi e delle istanze nella programmazione orientata agli oggetti (oop). Esplora come le classi modellano le proprietà comuni degli oggetti e come le istanze rappresentano oggetti specifici. Vengono descritte le astrazioni strutturali, le aggregazioni (forti e semplici), le composizioni e le relazioni tra classi, inclusi i concetti di ereditarietà, interfacce e polimorfismo. Inoltre, vengono trattati argomenti come le eccezioni, le collezioni e i flussi di dati (streams), offrendo una visione completa dei principi fondamentali dell'oop e delle loro applicazioni pratiche. Il documento include anche esempi di codice e spiegazioni dettagliate per facilitare la comprensione dei concetti chiave.

Tipologia: Appunti

2024/2025

In vendita dal 06/08/2025

Andrea_Bmm
Andrea_Bmm 🇮🇹

7 documenti

1 / 8

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
C
L
A
S
S
I
e
I
S
T
A
N
Z
E
/
O
G
G
E
T
T
I
U
n
a
C
L
A
S
S
E
m
o
d
e
l
l
a
l
e
p
r
o
p
r
i
e
t
à
C
O
M
U
N
I
a
d
u
n
I
N
S
I
E
M
E
d
i
O
G
G
E
T
T
I
,
c
a
r
a
t
t
e
r
i
z
z
a
t
a
d
a
V
A
L
O
R
I
c
h
i
a
m
a
t
i
A
T
T
R
I
B
U
T
I
.
O
g
n
i
I
S
T
A
N
Z
A
h
a
i
s
u
o
i
v
a
l
o
r
i
,
c
h
e
n
e
l
m
o
m
e
n
t
o
d
i
o
s
s
e
r
v
a
z
i
o
n
e
s
o
n
o
d
e
t
t
i
R
U
N
N
I
N
G
S
T
A
T
E
(
p
o
s
s
o
n
o
c
a
m
b
i
a
r
e
n
e
l
t
e
m
p
o
)
.
T
r
a
l
e
P
R
O
P
R
I
E
T
À
d
i
u
n
a
c
l
a
s
s
e
c
i
s
o
n
o
a
n
c
h
e
i
s
u
o
i
c
o
m
p
o
r
t
a
m
e
n
t
i
.
U
n
O
G
G
E
T
T
O
è
u
n
a
i
s
t
a
n
z
a
d
i
u
n
a
c
l
a
s
s
e
.
O
s
s
e
r
v
a
n
d
o
u
n
'
i
s
t
a
n
z
a
p
o
s
s
o
C
L
A
S
S
I
F
I
C
A
R
E
i
n
u
n
a
c
l
a
s
s
e
o
p
a
r
t
e
n
d
o
d
a
u
n
a
c
l
a
s
s
e
p
o
s
s
o
/
s
t
a
n
z
i
a
r
e
u
n
o
g
g
e
t
t
o
.
C
L
A
S
S
I
F
I
C
A
Z
I
O
N
E
(
i
n
s
t
a
n
c
e
o
f
)
:
L
e
g
a
I
S
T
A
N
Z
E
c
o
n
C
L
A
S
S
I
.
G
E
N
E
R
A
L
I
Z
Z
A
Z
I
O
N
E
(
i
s
a
)
:
M
e
t
t
e
i
n
r
e
l
a
z
i
o
n
e
l
e
C
l
a
s
s
i
,
c
r
e
a
n
d
o
u
n
a
G
E
R
A
R
C
H
I
A
d
i
c
l
a
s
s
i
.
E
s
i
s
t
e
u
n
a
c
l
a
s
s
e
g
e
n
i
t
o
r
e
(
s
u
p
e
r
c
l
a
s
s
e
)
e
p
i
ù
s
o
t
t
o
c
l
a
s
s
i
.
A
S
T
R
A
Z
I
O
N
I
S
T
R
U
T
T
U
R
A
L
I
L
a
C
L
A
S
S
E
d
e
f
i
n
i
s
c
e
l
e
P
R
O
P
R
I
E
T
À
.
1
O
g
n
i
i
s
t
a
n
z
a
d
i
u
n
a
s
o
t
t
o
c
l
a
s
s
e
p
o
s
s
i
e
d
e
l
e
P
r
o
p
r
i
e
t
à
d
e
l
l
a
s
u
p
e
r
c
l
a
s
s
e
.
I
n
o
l
t
r
e
è
a
n
c
h
e
u
n
'
i
s
t
a
n
z
a
d
e
l
l
a
S
U
P
E
R
C
L
A
S
S
E
(
P
O
L
I
M
O
R
F
I
S
M
O
)
2
3
A
G
G
R
E
G
A
Z
I
O
N
E
(
p
a
r
t
o
f
)
:
L
e
g
a
u
n
a
c
l
a
s
s
e
A
G
G
R
E
G
A
Z
I
O
N
E
"
c
o
n
u
n
i
n
s
i
e
m
e
d
i
c
l
a
s
s
i
P
A
R
T
I
"
.
e
s
i
s
t
o
n
o
a
g
g
r
e
g
a
z
i
o
n
i
F
O
R
T
I
e
S
E
M
P
L
I
C
I
.
(
C
P
U
I
S
P
A
R
T
O
F
a
C
O
M
P
U
T
E
R
)
4
A
S
S
O
C
I
A
Z
I
O
N
I
(
h
a
s
a
)
:
L
e
g
a
L
O
G
I
C
A
M
E
N
T
E
o
g
g
e
t
t
i
d
i
c
l
a
s
s
i
d
i
v
e
r
s
e
.
(
U
n
a
P
E
R
S
O
N
A
è
P
A
D
R
O
N
E
d
i
u
n
C
A
N
E
m
a
C
A
N
E
n
o
n
f
a
p
a
r
t
e
(
A
G
R
.
)
d
i
P
E
R
S
O
N
A
F
O
R
M
A
L
I
S
M
I
D
I
R
A
P
P
R
E
S
E
N
T
A
Z
I
O
N
E
u
t
i
l
i
z
z
e
r
e
m
o
U
M
L
p
e
r
f
o
r
m
a
l
i
z
z
a
r
e
C
L
A
S
S
I
,
P
R
O
P
R
I
E
T
À
,
R
E
L
A
Z
I
O
N
I
,
C
O
M
P
O
R
T
A
M
E
N
T
I
.
.
.
D
I
A
G
R
A
M
M
A
D
E
L
L
E
C
l
a
s
s
i
:
I
d
e
n
t
i
f
i
c
a
c
l
a
s
s
i
e
R
e
l
a
z
i
o
n
i
t
r
a
d
i
e
s
s
e
.
è
u
t
i
l
i
z
z
a
t
o
i
n
f
a
s
e
d
i
a
n
a
l
i
s
i
.
N
o
n
s
p
e
c
i
f
i
c
a
l
e
i
m
p
l
e
m
e
n
t
a
z
i
o
n
i
.
(
e
s
:
n
o
n
c
i
s
o
n
o
i
t
i
p
i
d
e
g
l
i
a
t
t
r
i
b
u
t
i
.
)
.
1
D
I
A
G
R
A
M
M
A
D
E
G
L
I
G
G
E
T
T
I
:
I
d
e
n
t
i
f
i
c
a
i
l
R
U
N
N
I
N
G
S
T
A
T
E
d
e
g
l
i
o
g
g
e
t
t
i
.
A
s
s
o
c
i
a
z
i
o
n
i
:
L
e
g
a
d
u
e
C
L
A
S
S
I
s
e
n
z
a
s
e
m
a
n
t
i
c
a
.
S
o
n
o
c
a
r
a
t
t
e
r
i
z
z
a
t
e
d
a
:
R
U
O
L
O
:
2
3
s
p
e
c
i
f
i
c
a
"
c
o
s
a
f
a
"
l
'
o
g
g
e
t
t
o
a
l
l
'
i
n
t
e
r
n
o
d
e
l
l
'
A
S
S
O
C
I
A
Z
I
O
N
E
e
s
i
t
r
a
d
u
c
e
i
n
C
A
R
D
I
N
A
L
I
T
À
:
q
u
a
n
t
e
i
s
t
a
n
z
e
p
o
s
s
o
n
o
e
s
s
e
r
e
a
s
s
o
c
i
a
t
e
.
M
U
L
T
I
P
L
E
:
p
i
ù
a
s
s
o
c
i
a
z
i
o
n
i
t
r
a
u
n
a
c
o
p
p
i
a
d
i
c
l
a
s
s
i
.
C
a
p
p
i
o
:
A
s
s
o
c
i
a
z
i
o
n
e
t
r
a
l
a
s
t
e
s
s
a
c
l
a
s
s
e
.
I
M
P
L
E
M
E
N
T
A
Z
I
O
N
E
.
N
A
V
I
G
A
B
I
L
I
T
À
:
E
s
p
l
i
c
i
t
a
c
h
i
"
v
e
d
e
"
c
o
s
a
e
l
e
m
o
d
a
l
i
t
à
d
i
r
e
a
l
i
z
z
a
z
i
o
n
e
.
"
c
h
i
v
e
d
e
"
c
o
n
t
e
r
r
à
l
'
a
l
t
r
o
o
g
g
e
t
t
o
.
pf3
pf4
pf5
pf8

Anteprima parziale del testo

Scarica Classi, Istanze, Ereditarietà e Polimorfismo nella Programmazione ad Oggetti - Prof. Micuc e più Appunti in PDF di Programmazione Java solo su Docsity!

C L A S S I e I S T A N Z E / O G G E T T I

U n a C L A S S E m o d e l l a l e p r o p r i e t à C O M U N I a d u n I N S I E M E d i O G G E T T I , c a r a t t e r i z z a t a d a V A L O R I c h i a m a t i A T T R I B U T I. O g n i I S T A N Z A h a i s u o i v a l o r i , c h e n e l m o m e n t o d i o s s e r v a z i o n e s o n o d e t t i R U N N I N G S T A T E ( p o s s o n o c a m b i a r e n e l t e m p o ). T r a l e P R O P R I E T À d i u n a c l a s s e c i s o n o a n c h e i s u o i c o m p o r t a m e n t i. U n O G G E T T O è u n a i s t a n z a d i u n a c l a s s e.

O s s e r v a n d o u n ' i s t a n z a p o s s o C L A S S I F I C A R E i n u n a c l a s s e o p a r t e n d o d a u n a c l a s s e p o s s o / s t a n z i a r e u n o g g e t t o.

C L A S S I F I C A Z I O N E ( i n s t a n c e o f ) : L e g a I S T A N Z E c o n C L A S S I.

G E N E R A L I Z Z A Z I O N E ( i s a ) : M e t t e i n r e l a z i o n e l e C l a s s i , c r e a n d o u n a G E R A R C H I A d i c l a s s i.

E s i s t e u n a c l a s s e g e n i t o r e ( s u p e r c l a s s e ) e p i ù s o t t o c l a s s i.

A S T R A Z I O N I S T R U T T U R A L I

1 L a C L A S S E d e f i n i s c e l e P R O P R I E T À.

O g n i i s t a n z a d i u n a s o t t o c l a s s e p o s s i e d e l e P r o p r i e t à d e l l a s u p e r c l a s s e. I n o l t r e è a n c h e u n ' i s t a n z a d e l l a S U P E R C L A S S E ( P O L I M O R F I S M O )

2

(^3) A G G R E G A Z I O N E ( p a r t o f ) : L e g a u n a c l a s s e A G G R E G A Z I O N E " c o n u n i n s i e m e d i c l a s s i P A R T I ".

e s i s t o n o a g g r e g a z i o n i F O R T I e S E M P L I C I. ( C P U I S P A R T O F a C O M P U T E R )

4 A S S O C I A Z I O N I ( h a s a ) : L e g a L O G I C A M E N T E o g g e t t i d i c l a s s i d i v e r s e.

( U n a P E R S O N A è P A D R O N E d i u n C A N E m a C A N E n o n f a p a r t e ( A G R. ) d i P E R S O N A

F O R M A L I S M I D I R A P P R E S E N T A Z I O N E u t i l i z z e r e m o U M L p e r f o r m a l i z z a r e C L A S S I , P R O P R I E T À , R E L A Z I O N I , C O M P O R T A M E N T I...

D I A G R A M M A D E L L E C l a s s i : I d e n t i f i c a c l a s s i e R e l a z i o n i t r a d i e s s e.

è u t i l i z z a t o i n f a s e d i a n a l i s i. N o n s p e c i f i c a l e i m p l e m e n t a z i o n i. ( e s : n o n c i s o n o i t i p i d e g l i a t t r i b u t i. ).

1

D I A G R A M M A D E G L I G G E T T I : I d e n t i f i c a i l R U N N I N G S T A T E d e g l i o g g e t t i.

A s s o c i a z i o n i : L e g a d u e C L A S S I s e n z a s e m a n t i c a. S o n o c a r a t t e r i z z a t e d a :

R U O L O :

2

3

s p e c i f i c a " c o s a f a " l ' o g g e t t o a l l ' i n t e r n o d e l l ' A S S O C I A Z I O N E e s i t r a d u c e i n

C A R D I N A L I T À : q u a n t e i s t a n z e p o s s o n o e s s e r e a s s o c i a t e.

M U L T I P L E : p i ù a s s o c i a z i o n i t r a u n a c o p p i a d i c l a s s i.

C a p p i o : A s s o c i a z i o n e t r a l a s t e s s a c l a s s e.

I M P L E M E N T A Z I O N E.

N A V I G A B I L I T À : E s p l i c i t a c h i " v e d e " c o s a e l e m o d a l i t à d i r e a l i z z a z i o n e. " c h i v e d e " c o n t e r r à l ' a l t r o o g g e t t o.

4 A G G R E G A Z I O N I

S E M P L I C E : o r e l a z i o n e p o c o f o r t e

L e P A R T I p o s s o n o e s i s t e r e i n d i p e n d e n t e m e n t e d a l l ' A G G R E G A T O e q u e s t ' u l t i m o p u ò e s i s t e r e i n d i p e n d e n t e m e n t e d a l l e P A R T I.

E ' p o s s i b i l e c h e p i ù A G G R E G A T I c o n d i v i d a n o l e S T E S S E P A R T I.

C O M P O S I Z I O N E o r e l a z i o n e m o l t o f o r t e

g n i P A R T E p u ò a p p a r t e n e r e a d u n s o l o A G G R E G A T O p e r v o l t a. w e s t ' u l t i m o è r e s p o n s a b i l e d i c r e a r e e D i s t r u g g e r e l e P A R T I.

L ' A G G R E G A T O p u ò c e d e r e l e s u e P A R T I. S e v i e n e D I S T R U T T O v e n g o n o e l i m i n a t e a n c h e l e s u e p a r t i.

(^5) G E N E R A L I Z Z A Z I O N E : s i i n d i c a c o n u n a f r e c c i a d a l l a s o t t o c l a s s e a l l a s u p e r c l a s s e.

U n o g g e t t o h a 3 C A R A T T E R I S T I C H E : • S T A T O c o n d i z i o n i i n c u i p u ò t r o v a r s i , d a t o d a l v a l o r e d e i s u o i a t t r i b u t i.

  • C O M P O R T A M E N T O : c o m e r i s p o n d e a r i c h i e s t e d i a l t r i o g g e t t i a t t r a v e r s o I N T E R F A C C E e M E T O D I
    • I D E N T I T À : d u e o g g e t t i n e l l o s t e s s o s t a t o s o n o c o m u n q u e e n t i t à d i s t i n t e. O g n i o g g e t t o h a u n s u o O B J E C T - I D u n i v o c o n e l s i s t e m a.

O R I E N T E D P R O G R A M M I N G

U n o g g e t t o è l ' a s t r a z i o n e d i u n ' e n t i t a i r e a l e c o n l e c a r a t t e r i s t i c h e s p e c i f i c h e p e r u n a d a t a a p p l i c a z i o n e

:

m o d e l l o p e r d e f i n i r e o g g e t t i

U n a C L A S S E i n J A V A è d e f i n i t a d a :

M O D I F I C A T O R E D I V I S I B I L I T À :

  • P U B L I C

(^1) s p e c i f i c a n o d a q u a l i c l a s s i p u ò e s s e r e v i s t a. V a a s s e g n a t o a n c h e a M E T O D I e V A R I A B I L I.

a u t : a c c e s s i b i l e d a t u t t i. i v i s i b i l e s o l o d a c l a s s i d e l l o s t e s s o P A C K A G E.

P R O T E C T E D : p e r g l i A T T R I B U T I : v i s i b i l i s o l o d a c l a s s e e S O T T O C L A S S I.

P R I V A T E : a c c e s s i b i l e s o l o d a l l a C L A S S E s t e s s a.

D E

2 [ A L T R I M O D I F I C A T O R I ] : o p z i o n a l i c o m e : • F I N A L : n o n p u o ' a v e r e f i g l i.

  • A B S T R A C T : n o n è I S T A N Z I A B I L E e d e v e e s s e r e i m p l e m e n t a t a.
  • S T A T I C

3 K E Y W O R D c o m e C L A S S O I N T E R F A C E

(^4) N O M E d e l l a C L A S S E : P r i m a l e t t e r a d i o g n i p a r o l a m a i u s c o l a e g r a f f a s u l l a s t e s s a r i g a.

A T T R I B U T I e M E T O D I

P o s s o n o e s s e r e d i I S T A N Z A , p r o p r i d i o g n i i s t a n z a , o d i C L A S S E , c o n d i v i s i t r a i s t a n z e e i n v o c a b i l i s e n z a.

S o n o C A R A T T E R I Z Z A T I d a m o d i f i c a t o r i d i v i s i b i l i t à. S T A T I C v e n d e q u a l c o s a d i c l a s s e.

I m e t o d i h a n n o a n c h e P A R A M E T R I e T I P I d i R I T O R N O.

5

O B J E C T

de ri va ta p er mo dif ic a r ne la fu nzi o nal it à a t t ra ve rs o I OV ER RI DE. ste s so m etod o ma con f i r m e d i ff e ren t i. U n MET O DO F INA L N ON p uò ess e re r id ef ini t o.

S TAT ICO D IN A MI CO

POL I MO RFIS MO PE R IN CL USI ONE : il^ tip^ o^ D^ IN^ AMI^ C^ O^ è^ l^ im^ it^ ato^ da^ ll^ a^ GER^ ARC^ HI^ A^ DI^ E^ R^ ED^ IT^ A^ RI^ ET^ À.

I t ip i D INA M IC I p os s ib i li di u n re fe re nce sono so lo s ot t ocla s s i d e l t i po s t a tico. O V E R R I DE C osa suc ce de s e al l 'i nte rno di un a fu nz ion e po l im or f ismo si i nv oca un m eto do ri d ef in ito ne l le s ott o c la s si?

In c om pila zion e vie n e r is ol to l'O V ERLO AD s e l ie nd o i n ba se a l tip o s t atic o l a fir m a co n u n t ip o ac c etta to. I n b ase al ti po di nam ic o v en go no ri so l ti O V ER RI D E te nen d o co n to d el l a f ir m a s ce lta r i sol ven do ov erl o a d.

Le oper azi o ni di CA STI N G mo di fi ca no i l t ipo d i una v ar i a bi l e. L' U PC AS TI NG po r ta d a s o tt oc lass e a s up e rcl ass e e no n ge ne r a e pu ò gen e ra re e r r ori. Non m o di f ica n o l' og g et to ma i l ref er e n ce s tat ico.

m ai e rr o ri ( T Y PE SA FE ) 'L o p eraz i on e in v er sa D O WN CAS T ING è T YP E u nsa fe

P O L IM O R FI S M O

Pr o pri età d e l co d i ce d i c omp o rt a rs i in m od o d ive rs o i n bas e al la C LAS SE.

Par l ia mo di POLIM ORF I SM O TR A REF E REN C E : u so di re fe re n ce per r ifer i rsi a ogg ett i d i t i po ( D IN AMIC O) d iv er so d a q ue ll o d ic hi a ra to ne l codi c e ( st at i co).

Qui nd i ad un me to d o ch e r ich i e de u n o gg etto di u na cl asse , po sso p a s s a re an ch e o gg e tt i di cl as s i ch e ere di t an o d a ess a. Pe rò nel m e to d o no n p os so u t i liz zar e f unz ion a l it à de l la s ott o cl a ss e.

I l meto d o es e gu it o è qu el lo d el ti po D I NAMI CO

Que st o m e cc an is mo è il BI N DING D IN A MI CO : il le game tr a def ini zi o ne ed i nvo ca z i one a vv ien e di na mi c a me n te a RU N- T IME.

I l DO WN CAS TI N G p uò g ene ra r e e rr or i i n R UN- TI ME ma n o n i n co m pil a zi one, a m en o ch e i l ti po pi ù s pe c if i co sce lto no n s i a a l d i f uori d el la g er ar c hi a.

ER E DI T ARIE TÀ

È u n ' ass oc iaz io n e di ti po is - a , i mp l emen t a t a i n JAV A co n EX TE ND S. La C LAS S E SP EC IA L IZ ZA TA e r edit a

A TT RI B UT I e M ETO DI de l la C LA SSE G ENER AL I ZZ A TA. S er ve a n ch e per no n ri s criv ere p a rti di co di ce u gu ali.

L a C^ LAS^ S^ E^ DE^ RI^ VAT^ A^ r^ eal^ izz^ a^ t^ u^ tt^ e^ le^ s^ te^ ss^ e^ fu^ nz^ io^ nal^ i^ t^ à^ de^ l^ la^ Cl^ a^ s^ s^ e^ B^ AS^ E,^ più^ a^ ltre^ ad^ di^ zio^ na^ l^ i.

L a K EY W ORD S U P ER p erm e tte di ac c ede r e a i meto di de l la c l as se b ase. Que st i m et odi pos so no es s e re RID EF INI TI n e lla c la ss e Da n on c on fon der e con l' ove rl o ad c h e è la def in i zi on e de ll o

I l C OS TR UT T OR E d i u n a c la s se D ER IV AT A d eve n ec es sa ri am en te i n vo ca r e il cos trut tor e de lla SUP ER CLA SS E. L 'i n v oc az i o ne av vi e n e t rami t e SU P ERI. .. ) e d ev e es ser e l a p ri ma is t r uzi one d el c os t ru tt ore.. Se n on e' p rese nt e NE SS UNA invoc az io ne al co s tr u tto r e S UP E R es pl i cit a , vi en e in s er i t a u na ch i a ma ta i mp lici ta a l cos t r utt or e d i d ef a ult.

I o po un U

d i qu el lo DI NAM ICO.

as t ing po s s o in voc a re so l o i me to di de l t i po s tat ic o MA uti li zz a nd o le i mpl em e n taz io n i

c on l' o pe r a zi on e IN ST AN CE OF p o ss o v e rif i ca re i l t ip o d ina m ico (ru n-ti m e) di u n o g g et t o e s e è u na ist a nz a di u n a cla s s e o u na s ot t o cl a sse. I n q ues to mo do p os so re n d er e si cu re l e o pera z io n i di D OW NCA ST IN G.

U n al tro me t od o per l a vo rare sui ti pi di na m ic i è G E T CL AS S ch e r ito rn a il t i po di n a mi co di u na re fer e n ce

I n q uest o m o d o po s so co nfr on t a re i ti pi din am ic i d i og g e tt i in me mo r ia.

P AC K A GES : è u n a COL LE ZI ON E d i cl as si c orre l at e , a c ui vie n e d ato u n n o m e , si m i le al la s tru t t ura de l f il e s ys tem. una c la sse h a v i si bili tà di tu t te le cl ass i de l lo st e sso pa ck ag e. Per le a lt r e va ' es egu it o 1 IMP OR T. I l nom e c ompl e to di u na cl as s e ( F UL L S QU ALIF I E D N A ME ) c om pr en de anc h e i l n o me d el p acka ge di c u i Att r ib ut i e me t od i P R OT ECT E TS s on o v is i b ili s o lo a c l assi del l o s te ss o pa ckag e e al l e s o t toc la ss i.

Tut ti gl i o gg e tt i i n J AV A e re d i t a no da O BJ E CT al e re dita n o me tod i come t os t ri n g e equ als.

fa pa rt e.

A B ST RA C T

U n a C LAS SE AS TRA T TA è u na c lass e c he no n r a ppr ese nt a u n c once t to t a ngib i le e che NO N P UO ' ESS E RE s t an z iat a. Pu ò es s ere ES T ES A o usa ta c o me T I PO STA T IC O ( es. : i st an zi a re a rra y ◦ pa ra m e tro d i fu nzi o ni ).

E si st o no a nc h e M ETO DI A S TR AT T I def ini b il i s o lo in cl as s i as t rat te , sono pr ivi d i imp le m e nta zi one e n o n i nvoc ab il i. S o no u til i pe r i mpo r re un m etod o C O M U NE a tu t te l e s o tto c la s si d i cui non s i p uo ' da re l ' imp lem en taz i o ne i n su p er da s s

In s i em e d ell e osera z i on i e de i d a ti pu b b li ci di u n a cl a sse m a l 'i m plemen t a zion e n o n ne fa pa rt e. S pe ci fic a n o qu i nd i i co mp o r ta m en ti ut il izz ab i li d a l le al tr e pa rt i d el p ro gr a mma.

l

L a K EYW OR D p er l a cr e az i on e è IN TE RF A CE

U na i nt er fa c c ia (^) p uòesse re c ons i de rata u na c la s se co m ple tam e nt e a s tr at t a. U n a cla s s e c h e IM PLEM EN TA un a i nt er fa c ci a de v e I MPL E ME N TAR E an c he t ut ti i M ET O D I d efi n it i.

U na in te r f ac c ia può e s se re u ti li zz a ta c o me un T IPO ST AT IC O , pe r me tten do d i i nv o ca re so lo i m eto di d efi ni ti. Nel le inte rfa c ce si pos s o no dic hiar are a tt r i buti e m e tod i p u bl i c , s tat ic e f i nal.

P o sso no e s ser e u til i zza t e co me l e c l as s i as tra t te i n c om bi na z io n e co n E R E DIT A R IETÀ e POLI MO RFI SMO.

M ETOD I DI DE FA UL T ( VI RT UAL E XT EN SIONS M E THOD S )

M ETO D I STA TI CI : fu n zi on a lit à a cc e s sib il i a t u t t e le c l a s si c he im pl em en tan o l 'in t e rf ac ci a.

M ET OD I P RI VATI : m e to d i p er ra cc o g li e re co d ice ut i li zz at o in m et odi d ef au lt o s ta tic.

i p er m et t ono d i de f in i r e un met o do f or n e nd o a nche una i m pl emen ta zi on e d i ba se.

es. : A ni ma le, Ve i co lo

I NT ERF A CC E

C O L L E C T I O N F R A M E W O R K

I n t r o d u c i a m o i W R A P P E R d e i t i p i p r i m i t i v i , o v v e r o c l a s s i c h e i n c a p s u l a n o u n t i p o p r i m i t i v o i n u n O B J E C T. I l c o m p i l a t o r e l e t r a s f o r m a a u t o m a t i c a m e n t e.

U n a C O L L E Z I O N E è u n e l e m e n t o c o n t e n i t o r e d i o g g e t t i d e t t i E L E M E N T I.

C O L L E C T I O N F R A M E W O R K d i J A V A è u n i n s i e m e d i I N T E R F A C C E e d i C L A S S I p e r l ' i m p l e m e n t a z i o n e d i C O L L E Z I O N I

  • I n t e r f a c c e e c l a s s i a s t r a t t e p e r r a p p r e s e n t a r e i t i p i d i c o l l e z i o n e.
  • I m p l e m e n t a z i o n i c o n c r e t e p r o n t e p e r e s s e r e u t i l i z z a t e.

E s i s t o n o d e l l e v a r i a n t i c h e m a n t e n g o n o u n o r d i n a m e n t o i n b a s e a l l ' i n t e r f a c c i a C O M P A R A B L E

I M P L E M E N T A Z I O N I

Q u a n d o c r e o l a v a r i a b i l e l a d i c h i a r o c o n l ' i n t e r f a c c i a ,

p o i q u a n d o l a i n i z i a l i z z o d e c i d o l ' i m p l e m e n t a z i o n e.

H A S H T A B L E : u t i l i z z a n o f u n z i o n i d i H A S H t r a s f o r m a d a t i d i l u n g h e z z a v a r i a b i l e i n c o d i c i d i

l u n g h e z z a f i s s a. Q u e s t o c o d i c e i d e n t i f i c a l a p o s i z i o n e n e l l a t a b e l l a.

P u ò s u c c e d e r e c h e d u e v a l o r i s i a n o a s s o c i a t i a l l o s t e s s o h a s h i n q u a n t o l a t a b l e n o n è i n f i n i t a.

I n q u e s t o c a s o i n q u e l l a p o s i z i o n e s i c r e a u n a l i s t a p e r m e m o r i z z a r e i v a l o r i.

L a f u n z i o n e h a s h c o d e d e v e e s s e r e c o e r e n t e a d e q u a l s. S e c a m b i o e q u a l s d e v o a n c h e m o d i f i c a r e

h a s h c o d e , c h e d e v e g e n e r a r e i n b a s e a g l i a t t r i b u t i u t i l i z z a t i d a e q u a l s. A n c h e n o n t u t t i s e

v o g l i o p i ù e l e m e n t i m e s s i i n l i s t a ( c o n f l i t t o ) n e l l a s t e s s a p o s i z i o n e.

I T E R A T O R o g g e t t o p u n t a t o r e c h e p e r m e t t e d i e f f e t t u a r e l a s c a n s i o n e d i u n a c o l l e z i o n e a t t r a v e r s o i m e t o d i h a s n e x t ( ) , n e x t c ) e i t e r a t o r.

N o n s i p u ò m o d i f i c a r e u n a c o l l e c t i o n m e n t r e s t o s c a n s i o n a n d o. L e m o d i f i c h e a c c e t t a t e v e n g o n o e s e g u i t e t r a m i t e l ' o g g e t t o i t e r a t o r.

P o s s i a m o a n c h e u t i l i z z a r e i n m o d o c o m p a t t o i l c o s t r u t t o F O R E A C H ( f o r ( x : 9 ) ).

D e v e e s s e r e c o e r e n t e c o n i l m e t o d o E Q U A L S.

L e i n t e r f a c c e c h e p r e v e d o n o u n o r d i n a m e n t o r i c h i e d o n o O g g e t t i d i c l a s s i c h e e s t e n d o n o l ' i n t e r f a c c i a C O M P A R A B L E e d i m p l e m e n t a n o i l m e t o d o C o m p a r e t o.

10 •.^ S^ TR^ EAMS^ e^ FIL^ E

U no S T REAM e' un FL U S S O OR D INA TO d i d ati d i di v ers o ti po (c ara t te ri , b y t e... ) in I O.

  • R E AD E R e W RIT ER , c las s i as tra tte pe r I /O di cara tt er i.

INP UT S T R E AM e OU TP UT STR EAM , cl as si a s tr a tte per I O di v al or i BI NA RI.

L e s ot to cl as s i d i q u es ti s i di vi d o n o in :

  • FI LT E R: a gg i u ng e o p era z i on i a u no s tr eam.
  • D A TA: IO pe r va l o ri pr im it iv i.

S i u ti li zz a il pa c k ag e J AV A. ◦ c he in cl u de:

  • P I PED : C omu n i ca z ion e tr a pro g ra mmi

n u an do av via mo u n pro gra m ma es so è g ià conn es s o a degli s t r ea m : S ys te m. IN e Sys te m. o u t. Po ssi amo c ambia rl i di v a l ore per r idi re z ion ar e l o st r e am.

SC A NNE R è un a cl ass e p e r l eg ger e d a un o str ea m tr a mi te il m et od o N E XT. p oss iamo u t il i zz a re ogn i st re am e ca mbi ar e s ep a rat ore.

u t i l iz i amo se v og l ia mo f o r ma tt a z ione.

fi l eW ri ter (i ndic an d on e il n om e ) creo o s ov ras cri vo i l f ile. l i zzo devo c hi u de re il f ile (p re f er ib il men t e i n

◦ NE X T I NT e tc.

SCR IT T UR A S U F IL E F IL EW R ITER O PR I NT WR IT ER

Cr eand o l ' ogg et to O gn i s c r i tt ura ag g i unge i n c oda. Fi ni t o l'uti un bl oc c o F IN AL L Y d i t r y and ca tc h.

P rin t wr ite r vu ole c o me pa ram etr o u n FI LE O è a v ve nut a d e vo i n v ocare i l m et odo c he ck ew o rll.

Poss iam o s c ri vere i n AP PEN D ad u n fi le uti l iz za n do F I LE

TU RA S U FI LE u ti li zz ia mo FIL E REA DE R p er le g ge re sin go li ca r at te ri o la c la sse S CAN NE R

Da l c o s tru tt ore di F i le R e a de r s ce lg o i l fi le e poi il me tod o re ad l). Se r itor na - 1 all ora e' a r riv a to al la f i ne d el f i l e.

La cl a s s e sc ann e r si c ol l ega a d u n o g g et to di ti po Fi l e (n ome ). Po sso po i u ti lizz are i s oli t i met od i e has Ne xt p er ca p ir e se c' è un n uov o da t o da leg ge re. pe r o g ni t ip o pri m it iv o

P UT S TR EAM , p er c ont ro l l ar e s e u na s cr i ttur a P erm e tte di u t il iz za re pr int in ◦ p ri n tf.

T

PUT S TR E AM ( nom eFil e, tr ue ).

LE

CL AS SE FILE: cla s s e c he rapp rese n t a un f ile. Pe r me tt e di v er if ic ar e i p erm e ss i, se esi s te ,

el im ina r l o o a ver n e il pe rc or so. C on ti ene un a va ri abi le s epa r a to r c h e m i i ndi ca i l

s ep ar at o re n e l p e rc or so u sa t o da l s i ste m a. Pe r me tte a nch e d i ra pp res ent ar e

Con l is te) o tte ngo l a l is ta dei fi le n el la dir ect o r y.

I

cart el l e e c rea r l e.

LE G GER E UN F ILE BI N ARI O u tili z zo FI LE INP UT STR EA M o DA TAI NP U TS TR EAM (v al ori t i pi zz at i ).

D a ta In p uts trea m c on ver te au to m a tic a m en t e.

E s is te a nc he u na cla ss e RA NDO M AC CESS FIL E p er ac cede r e i n u n a po si z i on e s pe ci fi c a e d e ci den do s e

ac c ede r e in l e ttu r a ◦ s c ri tt ura ( o e ntr am bi ). Util izz o il me to d o se e k p e r se le z ionar e i l byte da cui

p a r ti re a le gger e e sc ri ve re.

SC R I VER E SU FI LE BINA RI O o D ATA OU T PU T S T RE AT I (v a lo r i t ip iz z ati c onve rt i ti in b y te ).

D a ta ou t p u tstre a m vie ne i sta n zia t o u ti l i zz and o Fi l e ou tp ut st rea m co me para me tr o.

u ti liz zo FI L E U TPU TS TR EA M

  • PRI N T WR IT E R: f orm at taz i on e d ell ' ou tpu t.
  • O BJ EC T: S eri a l i zza zione di ogge tt i.
  • FI LE : I n ter az ion e con i fi le