




Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
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
1 / 8
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!





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.
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.
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 )
( 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.
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.
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.
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.
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 À :
(^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 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.
(^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.
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
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.
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.
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.
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.
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
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
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
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 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
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
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
LE
I
cart el l e e c rea r l e.
u ti liz zo FI L E U TPU TS TR EA M