2. www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
Regalo Turing
• sconto del 50%
• solo per i corsi JAVA BASE e JAVA EE
• solo per i partecipanti di questo mini-corso
• solo per i corsi ON-LINE
Contattare direttamente:
• amministrazione@webturing.net
• ezio.sperduto@webturing.net
con codice promozione:
JAVA-4H-2021
ONLINE ONLINE
3. www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
Programmazione Object Oriented
prevede Classi e Oggetti
meccanismi come:
• incapsulamento
• ereditarietà
• polimorfismo
costrutti astratti
modularità
progettazione/emulazione modello reale
6. www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
CLASSE
o il tipo
o la categoria
o lo stampo di creazione
OGGETTO
o le istanze
o gli elementi
dalla classe à istanziamo gli oggetti
i programmatori Java sono
costruttori di classi
poi da queste staccheremo gli oggetti
7. www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
SINTASSI - Dichiarazione
class NOME_CLASSE{
------ CAMPO X ------
------ CAMPO Y ------
------ CAMPO Z ------
------ METODO A ------
------ METODO B ------
------ METODO C ------
}
1
2
3
4
5
6
7
8
9
10
11
12
il costrutto class è il contenitore dei membri della classe: campi, metodi, etc.
8. www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
SINTASSI - Dichiarazione
class Automobile{
boolean accesa = false;
double velocita = 0;
int marcia = 1;
void accendi(){
accesa=true;
}
...
}
1
2
3
4
5
6
7
8
9
10
11
12
i campi con i dati, rappresentano lo stato dell'oggetto
i metodi sono le "capacità di agire"
9. www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
SINTASSI - Istanziazione
Automobile oggettoAuto = new Automobile();
• usiamo il costrutto new -> viene riservata la memoria per l'oggetto, e inizializzati i suoi campi
• creiamo una variabile di tipo Automobile
• le assegnamo un nuovo oggetto appena costruito
• la variabile è di tipo object-reference: un contenitore o puntatore all'istanza
Come costruiamo un'automobile?
10. www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
Dot-Notation
Come usiamo i membri (campi e metodi) al suo interno?
...
Automobile oggettoAuto = new Automobile();
oggettoAuto.accendi();
oggettoAuto.accelera(30); // in km/h
oggettoAuto.marcia = 5;
System.out.println(oggettoAuto.velocita);
System.out.println(oggettoAuto.marcia);
...
55
56
57
58
59
60
61
62
63
64
65
66
11. www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
SINTASSI - Esempio
Costruire una classe Scatola, che contiene 3 campi interi al suo interno.
Giocarci un po'.
class Scatola{
int v1;
int v2;
int v3;
void stampati(){
...
}
int totale(){
...
}
Scatola sommati(Scatola altra){
...
}
// svuota, etc.
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
12. www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
Campi globali: il modificatore static
Campi di classe o d'istanza?
CLASSE
membri
static
OGGETTO1
membri
d'istanza
OGGETTO2
membri
d'istanza
OGGETTO3
membri
d'istanza
13. www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
class Automobile{
double velocita = 0;
static int numeroMarce = 5;
...
}
1
2
3
4
5
6
7
8
i membri static sono unici per la classe
per tutti gli altri, esiste copia per ogni istanza
Campi globali: il modificatore static
14. www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
Incapsulamento
i membri di un oggetto sono liberamente visibili all'interno,
ma blindati all'esterno (salvo opportuni permessi)
15. www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
Incapsulamento
i membri di un oggetto sono liberamente visibili all'interno,
ma blindati all'esterno (salvo opportuni permessi)
Modificatori di accesso
• public
• protected
• (default modifier)
• private
16. www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
Incapsulamento
i membri di un oggetto sono liberamente visibili all'interno,
ma blindati all'esterno (salvo opportuni permessi)
Costruttori
class Automobile{
Automobile(){
...
}
...
}
1
2
3
4
5
6
7
8
19. www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
Ereditarietà
è possibile derivare nuove classi da quelle già definite, generando
una gerarchia di classi
Permette di modellare il legame:
GENERALE particolare
esempio:
AUTOMOBILE fuoristrada
20. www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
Ereditarietà
SINTASSI
class Fuoristrada extends Automobile{
...
}
1
2
3
4
5
6
7
8
• così si ereditano tutti* i campi e metodi della classe padre
• riutilizzo del codice
21. www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
CLASSE
PADRE
Automobile
Ereditarietà
CLASSE
FIGLIA
Fuoristrada
CLASSE
FIGLIA
Sportiva
ereditarietà è relazione tra classi (tipi),
non tra oggetti
22. www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
Ereditarietà - esercizio
Realizzare una struttura ereditaria con le classi di una Rubrica:
• Contatto (super-classe)
• Persona (sotto-classe)
• Azienda (sotto-classe)
23. www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
Polimorfismo
oggetti di tipi diversi possono essere trattati in una maniera uguale,
considerando un sovra-tipo comune
Dunque un oggetto può avere più forme (più tipi)
24. www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
Polimorfismo
class Benzinaio {
void rifornisci(Automobile a){
...
}
}
...
Fuoristrada f=new Fuoristrada();
Spyder s=new Spyder();
b.rifornisci(f);
b.rifornisci(s);
...
class Fuoristrada extends Automobile{
...
}
class Spyder extends Automobile{
...
}
class Automobile{
...
}
Automobile.java
Fuoristrada.java
Spyder.java
Benzinaio.java
altra classe
25. www.webturing.net
Thank You – Q & A
ezio.sperduto@webturing.net
linkedin.com/in/sperduto/
tiny.cc/codegarden
Iscriviti al gruppo Linkedin!
Mini Corso Java 4h (per principianti)