This
Résolu/Fermé
Chekchak
Messages postés
29
Date d'inscription
mardi 31 juillet 2012
Statut
Membre
Dernière intervention
21 mai 2019
-
15 juin 2016 à 07:34
Chekchak Messages postés 29 Date d'inscription mardi 31 juillet 2012 Statut Membre Dernière intervention 21 mai 2019 - 16 juin 2016 à 06:08
Chekchak Messages postés 29 Date d'inscription mardi 31 juillet 2012 Statut Membre Dernière intervention 21 mai 2019 - 16 juin 2016 à 06:08
A voir également:
- This
- This device is locked - Forum Xiaomi
- Press up to unlock this screen ✓ - Forum Logiciels
- This program cannot be run in dos mode ✓ - Forum Programmation
- Please power down and connect the pcie power cable for this graphics card - Forum Carte graphique
- The requested url was not found on this server. ✓ - Forum Ubuntu
1 réponse
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
Modifié par KX le 15/06/2016 à 09:54
Modifié par KX le 15/06/2016 à 09:54
Bonjour,
Dans la plupart des cas this est implicite (donc facultatif) c'est notamment le cas de ton exemple, tu peux enlever this sans problème, et je te conseille de ne pas le mettre pour ne le garder que si c'est nécessaire.
Les différents cas (utiles) de this :
1) tu as un attribut int x dans ta classe et une méthode set(int x) dans ce cas tu as deux x, le x par défaut étant le paramètre de la méthode, this.x est l'attribut de l'objet d'où les codes this.x=x; que l'on utilise souvent dans les constructeurs et les setters.
2) tu es dans la classe Toto et tu veux utiliser une méthode plop(Toto t), dans ce cas tu peux utiliser this pour passer ton objet courant en paramètre de la méthode avec plop(this)
3) cas particulier où tu as plusieurs constructeurs dans ta classe, si tu veux que le premier constructeur appelle un deuxième constructeur (avec des paramètres par défaut par exemple) il faut utiliser this également.
4) dans le cas de classes imbriquées (programmation avancée) on peut également utiliser this pour indiquer quelle est la classe courante (par défaut c'est la plus imbriquée)
Dans la plupart des cas this est implicite (donc facultatif) c'est notamment le cas de ton exemple, tu peux enlever this sans problème, et je te conseille de ne pas le mettre pour ne le garder que si c'est nécessaire.
Les différents cas (utiles) de this :
1) tu as un attribut int x dans ta classe et une méthode set(int x) dans ce cas tu as deux x, le x par défaut étant le paramètre de la méthode, this.x est l'attribut de l'objet d'où les codes this.x=x; que l'on utilise souvent dans les constructeurs et les setters.
2) tu es dans la classe Toto et tu veux utiliser une méthode plop(Toto t), dans ce cas tu peux utiliser this pour passer ton objet courant en paramètre de la méthode avec plop(this)
3) cas particulier où tu as plusieurs constructeurs dans ta classe, si tu veux que le premier constructeur appelle un deuxième constructeur (avec des paramètres par défaut par exemple) il faut utiliser this également.
public class Toto { private int x; public Toto(int x) { this.x=x; } public Toto() { this(0); } }
4) dans le cas de classes imbriquées (programmation avancée) on peut également utiliser this pour indiquer quelle est la classe courante (par défaut c'est la plus imbriquée)
class A { class B { class C { void f() { A a = A.this; B b = B.this; C c = this; } } } }La confiance n'exclut pas le contrôle
16 juin 2016 à 06:08