Costruttori.


Java Sun

Earthweb
(ex Gamelan)

Jars

Java Boutique

Java Center

PIP






 JSem: 2.3

   Nell'esempio precedente, per creare un oggetto della classe Rettangolo, dobbiamo inizializzare le sue variabili di istanza; la funzione Dim(int a, int b) semplifica questo passaggio ma sarebbe preferibile che le impostazioni delle variabili fossero eseguite nel momento in cui l'oggetto viene creato. Si può raggiungere questo obbiettivo usando dei costruttori.


Un costruttore è un metodo, ma con due differenze importanti:
1) Un costruttore ha lo stesso nome della classe
2) Un costruttore non ha nessun tipo di ritorno, neppure void

Facciamo un esempio creando un costruttore per la nostra classe Rettangolo:
class Rettangolo{
	
	int latoa;
	int latob;
	
//costruttore
	Rettangolo(int a, int b){
	latoa = a;
	latob = b;
	}
	
//metodo che calcola l'area
 int area(){
	return latoa*latob;
	}
}

Esempio:

import java.applet.*;
import java.awt.*;

public class RettDemo3 extends Applet{
	
	Rettangolo r1 = new Rettangolo(2,3);
	Rettangolo r2 = new Rettangolo(10,20);
	
public void paint(Graphics g){
	g.drawString("L'area di r1 è: " + r1.area(),10,25);
	g.drawString("quella di r2 è: " + r2.area(),10,50);
	}
}

l'introduzione del costruttore ha notevolmente semplificato il codice.


   Torniamo un attimo sull'operatore new
Negli esempi precedenti, per creare un oggetto Rettangolo, l'istruzione era:

Rettangolo r = new Rettangolo();

Le parentesi dopo Rettangolo sono necessarie.
In realtà per creare r si fa una chiamata al costruttore della classe; se il costruttore non è stato definito (come negli esempi precedenti), Java provedde un costruttore di default che inizializza le variabili con valori di default (0 per quelle di tipo int, ecc...), quindi le parentesi si riferiscono all'elenco, vuoto, dei parametri del costruttore di default.




 next		content		previous