SlideShare a Scribd company logo
1 of 16
Introduzione alla programmazione
in Java
Unità 1
A cura del prof. Giuseppe Sportelli
Concetti fondamentali
● Java è un linguaggio di programmazione orientato agli
oggetti
● Java è multipiattaforma grazie all’ambiente JRE Java
Runtime Enviroment
● Java è maturo è nato negli anni 90
● Java dispone di numerosi tools che agevolano lo sviluppo
Concetti Fondamentali
● Classe definizione
● Rappresentazione grafica di una classe con UML
● Componenti di una classe
● Istanza di classe
Definizione di classe
● La classe è una
rappresentazione astratta
di un oggetto della realtà
da rappresentare
● Una classe può essere
rappresentata in UML
Esempio di classe
Componenti di una classe
● Attributi dati della classe
● Metodi implementazione degli algoritmi che realizzando
l’accesso ai dati della classe lettura/scrittura
Modificatori
public
private
protected
Modificatore
Public/Private/Protected
● Public: Un membro di una classe o classe sarà accessibile
da qualunque classe in qualunque package
● Private: Un membro di una classe attributo e/o metodo è
accessibile solo dall’interno della classe nella quale è stato
dichiarato
● Protected: Un membro sarà accessibile all’interno di un
package o nelle sottoclassi della classe ove è definito
anche di un altri package
In UML + public - private #`protected
Modificatore di accesso di Default
Se non indicato il membro della classe attributo o metodo
sarà accessibile da tutte le cfassi del package dove la
classe è definita
In UML la notazione è ~
Modificatore Static
Un membro di una classe dichiarato con il modificatore
static è condiviso da tutte le istanze della classe.
● Non è necessario istanziare la classe per utilizzare il
membro
● Se il membro è un metodo Ad esempio Math.sqrt(numero);
● Se il membro è una variabile il suo valore è condiviso da
tutte le istanze della classe
Superclasse e Sottoclasse
● E’ legato al concetto di Ereditarietà tipico della programmazione ad oggetti
● Una super classe generalizza delle sottoclassi condividendone il
comportamento delle sottoclassi
● Una sottoclasse specializza il concetto di una superclasse
● Nella sottoclasse i metodi e gli attributi privati non sono visibili
● La sottoclasse eredita i metodi della superclasse
In Java una sottoclasse si definisce ad esempio
class Impiegato extends Persona
Rappresentazione UML delle
sottoclasse esempio
Figura
Rettangolo
Cerchio
Superclasse
Sottoclassi
UML approssimato
Costruttore
● E’ il metodo che viene invocato nell’operazione di
stanziamento della classe non è obbligatorio
● Può servire per definire una funzione di servizio e/o di
inizializzazione dell’oggetto istanziato
● Il distruttore al contrario del C non esiste in Java in quanto
la Garbage Collection provvede ad eliminare gli oggetti
che non sono più utilizzati per liberare memora
Dichiarazione del costruttore
class frazione
{
int num;
int den;
public frazione(float a,float b)
{
num=a;
den=b;
}
public static void main(String args[])
{
frazione f;
f=new frazione(1,2);
}
Polimorfismo
● Overloading dei metodi
dichiarare metodi con lo stesso nome ma con firme distinte
● Overriding dei metodi
ridefinire i metodi della super classe
– Deve possedere la stessa firma ovvero lo stesso modificatore
di accesso e valore di ritorno
Esempio di overloading
public class Prodotto
{
private int id;
// ...
public Prodotto(int id, String desc)
{
// ...
}
public Prodotto(int id, String desc1, String desc2)
{
// ...
}
public Prodotto(int id, String desc1, String desc2, String desc3)
{
// ...
}
}
Introduzione alla programmazione
in Java
Fine Unità 1
Grazie per l’attenzione
A cura del prof. Giuseppe Sportelli

More Related Content

What's hot

C#, imparare a programmare e sopravvivere
C#, imparare a programmare e sopravvivereC#, imparare a programmare e sopravvivere
C#, imparare a programmare e sopravvivereMatteo Valoriani
 
Lezione 10 - Programmazione Ad Oggetti, Vb Accenni
Lezione 10 - Programmazione Ad Oggetti, Vb AccenniLezione 10 - Programmazione Ad Oggetti, Vb Accenni
Lezione 10 - Programmazione Ad Oggetti, Vb AccenniRice Cipriani
 
Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp
Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwpCorso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp
Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwpGiuseppe Cramarossa
 
Presentazione primi principi oop
Presentazione primi principi oopPresentazione primi principi oop
Presentazione primi principi oopyrcorr
 
Corso pratico di C# - 2013
Corso pratico di C# - 2013Corso pratico di C# - 2013
Corso pratico di C# - 2013Matteo Valoriani
 
Object Oriented with Java Programmazione Base
Object Oriented with Java Programmazione BaseObject Oriented with Java Programmazione Base
Object Oriented with Java Programmazione BaseFelice Pescatore
 
Java SE 5. Capitolo 01: Base
 Java SE 5. Capitolo 01: Base Java SE 5. Capitolo 01: Base
Java SE 5. Capitolo 01: Basebobpuley
 
Lezione 10 - Programmazione ad oggetti
Lezione 10 - Programmazione ad oggettiLezione 10 - Programmazione ad oggetti
Lezione 10 - Programmazione ad oggettiGiuseppe Cramarossa
 
Dai delegati a LINQ con C#
Dai delegati a LINQ con C#Dai delegati a LINQ con C#
Dai delegati a LINQ con C#Manuel Scapolan
 
C# e la Framework Class Library
C# e la Framework Class LibraryC# e la Framework Class Library
C# e la Framework Class LibraryManuel Scapolan
 

What's hot (20)

C#, imparare a programmare e sopravvivere
C#, imparare a programmare e sopravvivereC#, imparare a programmare e sopravvivere
C#, imparare a programmare e sopravvivere
 
OOP with C#
OOP with C#OOP with C#
OOP with C#
 
Lezione 10 - Programmazione Ad Oggetti, Vb Accenni
Lezione 10 - Programmazione Ad Oggetti, Vb AccenniLezione 10 - Programmazione Ad Oggetti, Vb Accenni
Lezione 10 - Programmazione Ad Oggetti, Vb Accenni
 
Corso Java 1 - BASE
Corso Java 1 - BASECorso Java 1 - BASE
Corso Java 1 - BASE
 
Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp
Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwpCorso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp
Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp
 
C# Language Evolution
C# Language EvolutionC# Language Evolution
C# Language Evolution
 
Corso Java
Corso JavaCorso Java
Corso Java
 
Presentazione primi principi oop
Presentazione primi principi oopPresentazione primi principi oop
Presentazione primi principi oop
 
Corso ABAP OO 02
Corso ABAP OO   02Corso ABAP OO   02
Corso ABAP OO 02
 
Corso ABAP OO 03
Corso ABAP OO  03Corso ABAP OO  03
Corso ABAP OO 03
 
Corso pratico di C# - 2013
Corso pratico di C# - 2013Corso pratico di C# - 2013
Corso pratico di C# - 2013
 
Corso ABAP OO 04
Corso ABAP OO  04Corso ABAP OO  04
Corso ABAP OO 04
 
Object Oriented with Java Programmazione Base
Object Oriented with Java Programmazione BaseObject Oriented with Java Programmazione Base
Object Oriented with Java Programmazione Base
 
Java SE 5. Capitolo 01: Base
 Java SE 5. Capitolo 01: Base Java SE 5. Capitolo 01: Base
Java SE 5. Capitolo 01: Base
 
Design Pattern
Design PatternDesign Pattern
Design Pattern
 
Lezione 10 - Programmazione ad oggetti
Lezione 10 - Programmazione ad oggettiLezione 10 - Programmazione ad oggetti
Lezione 10 - Programmazione ad oggetti
 
Java OCA teoria 1
Java OCA teoria 1Java OCA teoria 1
Java OCA teoria 1
 
Java lezione 4
Java lezione 4Java lezione 4
Java lezione 4
 
Dai delegati a LINQ con C#
Dai delegati a LINQ con C#Dai delegati a LINQ con C#
Dai delegati a LINQ con C#
 
C# e la Framework Class Library
C# e la Framework Class LibraryC# e la Framework Class Library
C# e la Framework Class Library
 

More from I.S.I.S. "Antonio Serra" - Napoli

Le Applicazioni di Internet Web, FTP, Posta e App pr il Mobile
Le Applicazioni di Internet Web, FTP, Posta e App pr il MobileLe Applicazioni di Internet Web, FTP, Posta e App pr il Mobile
Le Applicazioni di Internet Web, FTP, Posta e App pr il MobileI.S.I.S. "Antonio Serra" - Napoli
 

More from I.S.I.S. "Antonio Serra" - Napoli (20)

La scomposizione in sotto programmi in C++.pptx
La scomposizione in sotto programmi in C++.pptxLa scomposizione in sotto programmi in C++.pptx
La scomposizione in sotto programmi in C++.pptx
 
Linguaggio C++ - Basi
Linguaggio C++ - BasiLinguaggio C++ - Basi
Linguaggio C++ - Basi
 
La metodologia Top - Down - applicazione al C++
La metodologia Top - Down - applicazione al C++La metodologia Top - Down - applicazione al C++
La metodologia Top - Down - applicazione al C++
 
I cicli in Python 3
I cicli in Python 3I cicli in Python 3
I cicli in Python 3
 
Video python3 n2
Video python3 n2Video python3 n2
Video python3 n2
 
I sotto programmi in Python 3
I sotto programmi in Python 3I sotto programmi in Python 3
I sotto programmi in Python 3
 
Le basi di Pytthon 3 - Fondamenti n.1
Le basi di Pytthon 3 - Fondamenti n.1Le basi di Pytthon 3 - Fondamenti n.1
Le basi di Pytthon 3 - Fondamenti n.1
 
Nuova ECLD - Modulo Online Collaboration n.2
Nuova ECLD - Modulo Online Collaboration n.2Nuova ECLD - Modulo Online Collaboration n.2
Nuova ECLD - Modulo Online Collaboration n.2
 
Nuova ECDL - Modulo Online Essentials n.2
Nuova ECDL - Modulo Online Essentials n.2Nuova ECDL - Modulo Online Essentials n.2
Nuova ECDL - Modulo Online Essentials n.2
 
Nuova ECDL - Modulo Online Essentials n.2
Nuova ECDL - Modulo Online Essentials n.2Nuova ECDL - Modulo Online Essentials n.2
Nuova ECDL - Modulo Online Essentials n.2
 
Nuova ECDL - Modulo Presentation n.3
Nuova ECDL - Modulo Presentation n.3Nuova ECDL - Modulo Presentation n.3
Nuova ECDL - Modulo Presentation n.3
 
Nuova ECDL - Modulo Presentation n.2
Nuova ECDL - Modulo Presentation n.2Nuova ECDL - Modulo Presentation n.2
Nuova ECDL - Modulo Presentation n.2
 
Nuova ECDL - Word Processing
Nuova ECDL - Word ProcessingNuova ECDL - Word Processing
Nuova ECDL - Word Processing
 
Nuova ECDL - Word Processing n.2
Nuova ECDL - Word Processing n.2 Nuova ECDL - Word Processing n.2
Nuova ECDL - Word Processing n.2
 
Nuova ECDL - Word Processing n.1
Nuova ECDL - Word Processing n.1Nuova ECDL - Word Processing n.1
Nuova ECDL - Word Processing n.1
 
Computer Essentials n.3 - Edizione 2020
Computer Essentials n.3 - Edizione 2020Computer Essentials n.3 - Edizione 2020
Computer Essentials n.3 - Edizione 2020
 
primi comandi SQL con Mysql
primi comandi SQL con Mysqlprimi comandi SQL con Mysql
primi comandi SQL con Mysql
 
Modello TCP/IP
Modello TCP/IPModello TCP/IP
Modello TCP/IP
 
Le Applicazioni di Internet Web, FTP, Posta e App pr il Mobile
Le Applicazioni di Internet Web, FTP, Posta e App pr il MobileLe Applicazioni di Internet Web, FTP, Posta e App pr il Mobile
Le Applicazioni di Internet Web, FTP, Posta e App pr il Mobile
 
Programmazione Top Down in C++
Programmazione Top Down in C++Programmazione Top Down in C++
Programmazione Top Down in C++
 

Recently uploaded

lezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldilezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldivaleriodinoia35
 
Corso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativoCorso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativovaleriodinoia35
 
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaXI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaStefano Lariccia
 
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaXIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaStefano Lariccia
 
Esperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superioreEsperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superiorevaleriodinoia35
 
San Giorgio e la leggenda del drago.pptx
San Giorgio e la leggenda del drago.pptxSan Giorgio e la leggenda del drago.pptx
San Giorgio e la leggenda del drago.pptxMartin M Flynn
 
CON OCCHI DIVERSI - catechesi per candidati alla Cresima
CON OCCHI DIVERSI - catechesi per candidati alla CresimaCON OCCHI DIVERSI - catechesi per candidati alla Cresima
CON OCCHI DIVERSI - catechesi per candidati alla CresimaRafael Figueredo
 
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.giuliofiorerm
 
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla CresimaIL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla CresimaRafael Figueredo
 

Recently uploaded (9)

lezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldilezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldi
 
Corso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativoCorso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativo
 
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaXI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
 
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaXIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
 
Esperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superioreEsperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superiore
 
San Giorgio e la leggenda del drago.pptx
San Giorgio e la leggenda del drago.pptxSan Giorgio e la leggenda del drago.pptx
San Giorgio e la leggenda del drago.pptx
 
CON OCCHI DIVERSI - catechesi per candidati alla Cresima
CON OCCHI DIVERSI - catechesi per candidati alla CresimaCON OCCHI DIVERSI - catechesi per candidati alla Cresima
CON OCCHI DIVERSI - catechesi per candidati alla Cresima
 
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
 
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla CresimaIL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
 

Programmazione in Java Lezione 1

  • 1. Introduzione alla programmazione in Java Unità 1 A cura del prof. Giuseppe Sportelli
  • 2. Concetti fondamentali ● Java è un linguaggio di programmazione orientato agli oggetti ● Java è multipiattaforma grazie all’ambiente JRE Java Runtime Enviroment ● Java è maturo è nato negli anni 90 ● Java dispone di numerosi tools che agevolano lo sviluppo
  • 3. Concetti Fondamentali ● Classe definizione ● Rappresentazione grafica di una classe con UML ● Componenti di una classe ● Istanza di classe
  • 4. Definizione di classe ● La classe è una rappresentazione astratta di un oggetto della realtà da rappresentare ● Una classe può essere rappresentata in UML
  • 6. Componenti di una classe ● Attributi dati della classe ● Metodi implementazione degli algoritmi che realizzando l’accesso ai dati della classe lettura/scrittura Modificatori public private protected
  • 7. Modificatore Public/Private/Protected ● Public: Un membro di una classe o classe sarà accessibile da qualunque classe in qualunque package ● Private: Un membro di una classe attributo e/o metodo è accessibile solo dall’interno della classe nella quale è stato dichiarato ● Protected: Un membro sarà accessibile all’interno di un package o nelle sottoclassi della classe ove è definito anche di un altri package In UML + public - private #`protected
  • 8. Modificatore di accesso di Default Se non indicato il membro della classe attributo o metodo sarà accessibile da tutte le cfassi del package dove la classe è definita In UML la notazione è ~
  • 9. Modificatore Static Un membro di una classe dichiarato con il modificatore static è condiviso da tutte le istanze della classe. ● Non è necessario istanziare la classe per utilizzare il membro ● Se il membro è un metodo Ad esempio Math.sqrt(numero); ● Se il membro è una variabile il suo valore è condiviso da tutte le istanze della classe
  • 10. Superclasse e Sottoclasse ● E’ legato al concetto di Ereditarietà tipico della programmazione ad oggetti ● Una super classe generalizza delle sottoclassi condividendone il comportamento delle sottoclassi ● Una sottoclasse specializza il concetto di una superclasse ● Nella sottoclasse i metodi e gli attributi privati non sono visibili ● La sottoclasse eredita i metodi della superclasse In Java una sottoclasse si definisce ad esempio class Impiegato extends Persona
  • 11. Rappresentazione UML delle sottoclasse esempio Figura Rettangolo Cerchio Superclasse Sottoclassi UML approssimato
  • 12. Costruttore ● E’ il metodo che viene invocato nell’operazione di stanziamento della classe non è obbligatorio ● Può servire per definire una funzione di servizio e/o di inizializzazione dell’oggetto istanziato ● Il distruttore al contrario del C non esiste in Java in quanto la Garbage Collection provvede ad eliminare gli oggetti che non sono più utilizzati per liberare memora
  • 13. Dichiarazione del costruttore class frazione { int num; int den; public frazione(float a,float b) { num=a; den=b; } public static void main(String args[]) { frazione f; f=new frazione(1,2); }
  • 14. Polimorfismo ● Overloading dei metodi dichiarare metodi con lo stesso nome ma con firme distinte ● Overriding dei metodi ridefinire i metodi della super classe – Deve possedere la stessa firma ovvero lo stesso modificatore di accesso e valore di ritorno
  • 15. Esempio di overloading public class Prodotto { private int id; // ... public Prodotto(int id, String desc) { // ... } public Prodotto(int id, String desc1, String desc2) { // ... } public Prodotto(int id, String desc1, String desc2, String desc3) { // ... } }
  • 16. Introduzione alla programmazione in Java Fine Unità 1 Grazie per l’attenzione A cura del prof. Giuseppe Sportelli