Le variabili in Java Nella programmazione tradizionale, una variabile è una porzione di memoria in cui è immagazzinato un certo tipo di dato. Per esempio un intero in Java è immagazzinato in 32 bit.
Anche per l’utilizzo delle variabili possiamo distinguere due fasi: 1)Dichiarazione ; 2)assegnazione. public class Quadrato { public int altezza; /*dichiarazione*/ public int larghezza; /*dichiarazione*/ public int numeroLati ; /*dichiarazione*/ numeroLati = 4; /*assegnazione*/ }
public class Quadrato { public int altezza; /*dichiarazione*/ public int larghezza; /*dichiarazione*/ public int numeroLati =4 ; /*dichiarazione e assegnazione*/ }
Variabili locali Una variabile è detta locale se è dichiarata all’interno di un metodo. Essa smetterà di esistere quando terminerà il metodo. Public class punto /*classe punto*/ { public int x; /* variabile NON locale */ public int coordinate(int j) /*metodo */ { int y; /*variabile LOCALE*/ ….. /*corpo del motodo*/ } }
Parametri formali Le variabili dichiarate all’interno delle parentesi tonde che si trovano alla destra dell’identificatore nella dichiarazione di un metodo, sono dette parametri o argomenti del metodo. Per esempio, nella seguente dichiarazione del metodo somma vengono dichiarati due parametri interi x e y: public int somma(int x, int y) { return (x + y); }
N.B. : è importante sottolineare, che un parametro si può considerare anche una variabile locale del metodo, avendo stessa visibilità e ciclo di vita. Le differenze sussistono solo nell’utilizzo, non nel processo di immagazzinamento in memoria.
I metodi costruttori Esistono in Java, dei metodi speciali che hanno delle "proprietà". Tra questi c’è sicuramente il metodo costruttore. Questo ha le seguenti caratteristiche: 1. Ha lo stesso nome della classe 2. Non ha tipo di ritorno 3. È chiamato automaticamente (e solamente) ogni volta che è istanziato un oggetto, relativamente a quell’oggetto 4. È presente in ogni classe.
Caratteristiche dei Costruttori Un costruttore ha sempre e comunque lo stesso nome della classe in cui è dichiarato. È importante anche fare attenzione a lettere maiuscole e minuscole. Il fatto che non abbia tipo di ritorno non significa che il tipo di ritorno è void, ma che non dichiara alcun tipo di ritorno! Per esempio è presentata una classe con un costruttore dichiarato esplicitamente:
Esempio di costruttore public class Punto { public Punto() //metodo costruttore { System.out.println("costruito un Punto"); } int x; int y; }
Costruttori con parametri Essendo un metodo (anche se speciale), può avere una lista di parametri. Di solito un costruttore è utilizzato per inizializzare le variabili d’istanza di un oggetto. È quindi possibile codificare il seguente costruttore all’interno della classe Punto:
public class Punto { public Punto(int a, int b) { x = a; y = b; } public int x; public int y; }
Altro esempio public class Punto { public int x; public int y; } Se viene omesso dal programmatore il costruttore di default questo verrà….
Al momento della compilazione, il compilatore aggiungerebbe il costruttore di default: public class Punto { public Punto() { //il costruttore di default viene creato //automaticamente sempre e in ogni caso! } public int x; public int y; }