This
Résolu
Chekchak
Messages postés
29
Date d'inscription
Statut
Membre
Dernière intervention
-
Chekchak Messages postés 29 Date d'inscription Statut Membre Dernière intervention -
Chekchak Messages postés 29 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- This
- Hijack this - Télécharger - Antivirus & Antimalwares
- Cannot display this video mode - Forum Ecran
- No compatible source was found for this media - Forum Mozilla Firefox
- This windows build is not supported by this playbook ✓ - Forum Windows 10
- The following component(s) are required to run this program microsoft visual c++ runtime ✓ - Forum Programmation
1 réponse
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
Chekchak
Messages postés
29
Date d'inscription
Statut
Membre
Dernière intervention
3
Merci beaucoup :)