Vous êtes sur la page 1sur 7

A quoi sert this

Programmation objet: premiers pas en Java

François Barthélemy

Le Cnam, Département Informatique

1 F. Barthélemy - A quoi sert this


Le mot-clé this

Lors de l’exécution d’une méthode, this désigne l’objet sur


lequel la méthode est appelée.
Cet objet peut avoir un autre nom dans la méthode
invocatrice.
Exemple : dans main, invocation obj.lameth(12) ;
Le même objet s’appelle obj dans main et this dans
lameth.
On peut parfois l’utiliser sans que ce soit obligatoire.
Dans certains cas, on est obligé de l’utiliser.

2 F. Barthélemy - A quoi sert this


Dans la mémoire

Lors de l’exécution d’une invocation, allocation de


mémoire pour this.
Stockage dans cette mémoire de l’adresse de l’objet.
Calculé avant les paramètres.
Comme un paramètre supplémentaire mais :
I nom fixé, imposé

I pas le droit d’affecter une nouvelle valeur à this

3 F. Barthélemy - A quoi sert this


Usage facultatif

Pour désigner les variables de l’objet dans les méthodes de


la classe.
Exemple : this.nom, this.numeroSS.
Pour appeler les méthodes de la classe sur le même objet
que la méthode en cours d’exécution.
Exemple : this.getNom(), this.toString.
Si l’on ne met pas this. devant la variable ou la méthode,
il est sous-entendu.
Jusqu’ici, dans les exemples, pas beaucoup de this.

4 F. Barthélemy - A quoi sert this


Usage facultatif classique

Souvent un constructeur reçoit en paramètre des valeurs


pour des variables.
Pratique courante : donner le même nom aux paramètres
et aux variables.

public class Equipe{


String nom, sigle;
public Equipe(String nom, String sigle){
this.nom = nom;
this.sigle = sigle;
}

5 F. Barthélemy - A quoi sert this


Usage obligatoire

Obligation d’utiliser this pour passer l’objet en paramètre


à une méthode.
Exemple : déclaration d’un objet Personne auprès d’une
autorité compétante.
Dans le constructeur de personne.

public Personne(String nom, Fisc impots){


this.nom = nom;
impots.recenseContribuable(this);
}

6 F. Barthélemy - A quoi sert this


Conclusion

this désigne l’objet courant dans les méthodes de cet


objet.
Souvent sous-entendu.
Nom donné à une adresse dans le tas.
Présent dans la mémoire privée de la méthode.

7 F. Barthélemy - A quoi sert this