Home Nirvana SezioneMoz Altro TonyTammaro
 

LEZIONE DUE: Uso della parola chiave This

This è una parola chiave il cui uso serve a riferirsi all'oggetto. Per capire ciò che significa vediamo due esempi del suo uso tamarro:

- Può essere usata in un costruttore per chiamare un altro costruttore. Sempre come prima istruzione del costruttore. Esempio:

//definizione della classe
..
..
Body(int a) { //
idNum=a;
}


Body() {
this(3);
}

In questo caso, supponiamo che il primo costruttore chiamato sia Body(). Ad esempio potevamo aver avuto la chiamata

Body nuovoPianeta= new Body();

Quando sarà chiamato il metodo new esso farà si che sia allocato l'oggetto del tipo di quella classe e chiamerà il costruttore Body(). All'interno del costruttore Body() troviamo la chiamata a this(3). Essa si riferirà ad un altro costruttore i cui parametri sono dati da un intero. Questo intero sarà portato nel nuovo costruttore e assegnato ad idNum.

- Un altro possibile uso di this è per riferirsi all'oggetto in uso. Exemplo:

public void move(double x, double y)
{
this.x=x;
this.y=y;
}

In questo caso l'uso di this ci rende sicuri del fatto che la variabile di istanza di nome x e quella di nome y modificate siano proprio quelle dell'oggetto a cui ci si è riferiti chiamando il metodo move. Insomma, chi spaccimm, per chiamare un metodo abbiamo dovuto aver bisogno di farcelo far usare da uno spaccimma di oggetto? Bene! Ora potrebbe capitare, per qualche caso assurdo che ci siano altre variabili x e y nel processo di computazione! E potrebbe capitare che le variabili aggiornate non saranno quelle dell'oggetto a cui abbiamo chiesto di compiere una data operazione. Ecco, per essere sicuri di questo si usa this.x cioè assegna al campo x dell'oggetto this, cioé quello in uso, il valore che ti sto dando.

Exemplo:


public class firstJava {

public static void main (String args[]) {

System.out.println("Hello World!");
int UnNumero=10;
System.out.println(" il numero è " + UnNumero);
Body nuovo = new Body();
nuovo.idNum = Body.nextID++;
nuovo.nameFor="New Planet";
}

}
class Body {
public long idNum;
public String nameFor;
public Body ruotaIntornoA;
public static long nextID=0;

Body () {
this("planetum");
System.out.println("Setto il nome del nuovo pianeta a planet ");
this.nameFor="planet";
this.ruotaIntornoA=this;/*Il pianeta ruota intorno a se stesso*/
System.out.println("Il pianeta ruota intorno a se stesso");
}
Body(String nome){
//this();
this.nameFor=nome;
System.out.println("Il nuovo nome del pianeta è " + this.nameFor);
}
protected void stampa () {
System.out.println("Chi spaccim next Id è" + nextID);
}
}

Questo esempio può essere mandato in esecuzione e mostra chiaramente gli usi della parola chiave this.

INDIETRO ---- AVANTI

 

 

 
     

     
       
           

webmaster: ngjocm@tin.it

©2003 Sito Ufficiale del Movimento Operaio Zokor • Creato in onore della dea Vicky