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

Programmazione in Java Lezione 1

  • 1.
    Introduzione alla programmazione inJava 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 ● Classedefinizione ● 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
  • 5.
  • 6.
    Componenti di unaclasse ● 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: Unmembro 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 accessodi 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 membrodi 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 sottoclasseesempio Figura Rettangolo Cerchio Superclasse Sottoclassi UML approssimato
  • 12.
    Costruttore ● E’ ilmetodo 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 classfrazione { 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 deimetodi 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 publicclass 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 inJava Fine Unità 1 Grazie per l’attenzione A cura del prof. Giuseppe Sportelli