IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

This ou pas This


Sujet :

Langage Java

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2003
    Messages : 281
    Points : 209
    Points
    209
    Par défaut This ou pas This
    Bonjour,

    ceci est une question de culture général (enfin je pense).

    J'ai remarque que dans plusieurs exemple de code (surtout ceux lié à Eclipse), l'utilisation de "this" n'était pas obligatoire.
    En effet, j'ai vu souvent des appel de méthodes du genre "setLayout(..)" qui n'avait rien devant (pas de receveur).

    J'ai donc supposé que les méthodes qui n'ont pas de receveur sont appliquées à "this" par défaut, est ce vrai ?

    Merci

    (J'ai essayé de chercher, mais il y a bcp de post avec "this")
    S'il n'y a pas de solution, il n'y a pas de problème.
    Moi je dis ça, je dis rien.

  2. #2
    Membre habitué
    Avatar de guipom
    Inscrit en
    Janvier 2003
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 207
    Points : 184
    Points
    184
    Par défaut
    Encore plus fort que la recherche dans le forum ... la FAQ !!!

  3. #3
    Membre régulier Avatar de Gromitou
    Profil pro
    Inscrit en
    Février 2003
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Février 2003
    Messages : 98
    Points : 81
    Points
    81
    Par défaut Re: This ou pas This
    Citation Envoyé par sunvialley
    les méthodes qui n'ont pas de receveur sont appliquées à "this" par défaut, est ce vrai ?
    Oui en effet, c'est ça, en revanche il est conseiller d'employer le this pour une meilleure lisibilité du code

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 18
    Points : 18
    Points
    18
    Par défaut
    salut,
    en effet lorsque l'on ne met pas de this, cela indique implicitement que la méthode ou la variable est appelée sur l'objet courant. Le this est nécessaire lorsqu'il y a des risques d'ambiguitées comme dans cet exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public class ClasseTest{
       private int variableTest;
     
       // ...   
     
       public void methodeTest(int variableTest){
             this.variableTest = variableTest;
       }
    }
    ici on affecte la variableTest qui appartient a la classe courante avec la variableTest passée en parametre. Si on ne mettait pas de this cela poserait probleme a cause de l'ambiguitée des noms.

    Apres pour les cas sans ambiguité il y a deux écoles, ceux qui mettent le this tout le temps car comme ca on est sur de pas se tromper et il y a ceux qui ne le mettent pas lorsque ce n'est pas nécessaire car ils trouvent que ca alourdi le code... c'est une question de choix.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2003
    Messages : 281
    Points : 209
    Points
    209
    Par défaut
    ok, j'avais l'habitude de toujours mettre le "this" pour les appels de méthodes, moins pour les attributs.

    En fait je savais pas que cela les méthodes marchait sans receveur.
    Maintenant je suis fixé.


    MERCI
    S'il n'y a pas de solution, il n'y a pas de problème.
    Moi je dis ça, je dis rien.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. self:: $this-> ou $this:: static / pas static
    Par boubil dans le forum Langage
    Réponses: 4
    Dernier message: 07/08/2012, 16h52
  2. [ZF 1.10] Passer un variable pas $this->view->assign() si page non autorisée
    Par ilalaina dans le forum Zend_Acl & Zend_Auth
    Réponses: 11
    Dernier message: 02/10/2010, 12h03
  3. Référence ou pas (this is the question)
    Par hydrolyre dans le forum Débuter
    Réponses: 3
    Dernier message: 24/07/2009, 15h53
  4. mettre le "this." ou pas
    Par fabaroulettes dans le forum Langage
    Réponses: 10
    Dernier message: 08/02/2007, 16h32
  5. Erreur Objet requis : 'this' --> Comprend pas!!
    Par Grozeil dans le forum ASP
    Réponses: 3
    Dernier message: 30/03/2005, 09h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo