Bonjour les GARS,
j'ai pas bien compris l'utilisation du mot clé this quelqu'un peut me l'expliquer avec un exemple concret et simple
A+
Bonjour les GARS,
j'ai pas bien compris l'utilisation du mot clé this quelqu'un peut me l'expliquer avec un exemple concret et simple
A+
LE mot clé this est une référence sur l'instance en cours d'utilisation.
Il permet par exemple de différencier un attribut, d'une variable passé en paramètre.
Un attribut static ne peut pas être référencé par this.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public class Constructeur{ protected String variable; public Constructeur (String variable){ variable = variable; // On ne sait pas vraiment qui est assigné à qui. this.variable = variable; // l'attribut reçoit la valeur du paramètre variable = this.variable; // le paramètre reçoit la valeur de l'attribut } }
le mot clé this représente soit, comme indiqué précédement, l'instance courante de la classe courante. Soit, dans une autre notation, un autre constructeur de la classe courante. Exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public class MaClass{ String a; public MaClass(String a){ this.a=a; // l'attribut a prend la valeur de la variable locale a } public MaClass(){ this("Bonjour"); // appel du constructeur MaClass(String) avec comme paramètre "Bonjour" } }
Effectivement j'avais oublié cette notion![]()
Je reprend l'exemple de Tchize,
dans cet exemple, instance1 est différent de instance2. Ils sont de même type mais chacune des variable est une instance de la classe MaClasse.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 MaClass instance1 = new MaClass("1"); MaClass instance2 = new MaClass("2");
admettons que dans la classe MaClass, il y ait une méthode :
Lorsque je fait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 public String getA(){ return this.a; }
le mot clé this fera référence à l'objet créé lors de l'instruction
Code : Sélectionner tout - Visualiser dans une fenêtre à part instance1.getA();
Code : Sélectionner tout - Visualiser dans une fenêtre à part MaClass instance1 = new MaClass("1");
Au contraire si je fait :
Alors le mot clé this fera référence à l'objet créé lors de l'instruction
Code : Sélectionner tout - Visualiser dans une fenêtre à part instance2.getA();
Je sais pas si j'ai été très clair.
Code : Sélectionner tout - Visualiser dans une fenêtre à part MaClass instance2 = new MaClass("2");
instance courante = instance actuelle de la classe, celle pour laquelle le code de la méthode est occupé de travailler.
Partager