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
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)
{
// ...
}
}