Java this.
Résolu
y2jeff
Messages postés
78
Date d'inscription
Statut
Membre
Dernière intervention
-
y2jeff Messages postés 78 Date d'inscription Statut Membre Dernière intervention -
y2jeff Messages postés 78 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai du mal a comprendre le this. en java.
D'apres ce que j'ai compris il a le meme rôle que les getters (get.) et setters (set.) .
Sauf qu'on utilise le this pour les variable private se trouvant dans la meme classe.
On utilise le get. et set. pour les variables se trouvant dans d'autres classes.
Es ce bien ca?
J'ai du mal a comprendre le this. en java.
D'apres ce que j'ai compris il a le meme rôle que les getters (get.) et setters (set.) .
Sauf qu'on utilise le this pour les variable private se trouvant dans la meme classe.
On utilise le get. et set. pour les variables se trouvant dans d'autres classes.
Es ce bien ca?
A voir également:
- This. java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Jeux java itel 5360 - Forum Mobile
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
8 réponses
Pas du tout ! Ou alors de très très loin...
Lorsque tu créés un objet, tu fais appel à son constructeur, et tu en récupères un référence
Object obj = new Object(); // obj est une référence à l'objet créé.
Une méthode s'applique à un objet en particulier, par exemple : obj.toString()
Le problème c'est que lorsque tu crées ta propre classe, tu vas définir des méthodes sans connaître d'avance la référence qui sera utilisée. C'est à ça que sers le mot-clé this, c'est une référence sur l'objet utilisé.
Exemple :
Remarque : dans de nombreux cas, le this est implicite, c'est à dire qu'on peux l'omettre, sans risque de confusion. Ici j'aurais pu faire directement return n;
Voici un exemple (presque) concret où this est utile :
Lorsque tu créés un objet, tu fais appel à son constructeur, et tu en récupères un référence
Object obj = new Object(); // obj est une référence à l'objet créé.
Une méthode s'applique à un objet en particulier, par exemple : obj.toString()
Le problème c'est que lorsque tu crées ta propre classe, tu vas définir des méthodes sans connaître d'avance la référence qui sera utilisée. C'est à ça que sers le mot-clé this, c'est une référence sur l'objet utilisé.
Exemple :
public class Tata { private int n = 3; public int toto() { return this.n; } public static void main(String...args) { Tata titi = new Tata(); int a = titi.toto(); // le "this" dans la méthode toto() correspond à la référence "titi", c'est donc équivalent (dans ce cas) à faire "titi.n" } }
Remarque : dans de nombreux cas, le this est implicite, c'est à dire qu'on peux l'omettre, sans risque de confusion. Ici j'aurais pu faire directement return n;
Voici un exemple (presque) concret où this est utile :
public class Reel { private double x; public Reel(double val) { x = val; } public Reel multiplier(Reel r) { return new Reel(this.x * r.x); // on multiplie la valeur courante par celle de r // ou avec le this implicite : return new Reel(x * r.x); } public Reel carre() { return this.multiplier(this); // on se multiplie soi même // ou avec le this implicite : return multiplier(this); // ici le mot-clé this est nécessaire pour la méthode "multiplier" } }La confiance n'exclut pas le contrôle