2. Concetti fondamentali
Java 竪 un linguaggio di programmazione orientato agli
oggetti
Java 竪 multipiattaforma grazie allambiente 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
laccesso 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 dallinterno della classe nella quale 竪 stato
dichiarato
Protected: Un membro sar accessibile allinterno 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 nelloperazione di
stanziamento della classe non 竪 obbligatorio
Pu嘆 servire per definire una funzione di servizio e/o di
inizializzazione delloggetto 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
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)
{
// ...
}