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 :

la reference this


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Février 2007
    Messages
    406
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 406
    Par défaut la reference this
    voila le code suivant:

    class temps
    {int minute,seconde;

    void SetSeconde(int seconde)
    {this.seconde=seconde;}

    void SetMinute(int minute)
    {this.minute=minute;}

    void SetTemp(int seconde,int minute)
    {SetSeconde(seconde);
    SetMinute(minute);}

    ma fonction s'execute correctement mais j'ai un peu de mal à comprendre pq on a pas utilisé this avant seconde et minute(ceux des parametres de SetSeconde et SetMinute) puisque on utilise les mêmes noms de variable globale dans la fonction.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 548
    Par défaut
    Le problème c'est que tu as un paramètre de méthode et un champs de la classe qui ont le même nom. Dans ce cas, par défaut "seconde" fait référence au paramétre de la méthode. Quand tu veux faire référence à l'attribut de la classe, il faut ajouter "this", ce qui permet de lever l'ambiguité.

    si tu remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    void SetTemp(int seconde,int minute)
    {SetSeconde(seconde);
    SetMinute(minute);}
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    void SetTemp(int seconde,int minute)
    {SetSeconde(this.seconde);
    SetMinute(this.minute);}
    alors les deux paramétres de SetTemp ne sont plus utilisés (et en fait cette méthode ne fait plus rien)

    Sinon en Java la convention est que les noms de méthode commencent par une minuscule et les noms de classe par une majuscule

  3. #3
    Membre éclairé
    Inscrit en
    Février 2007
    Messages
    406
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 406
    Par défaut
    okéé,merci de m'avoir repondu si vite

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

Discussions similaires

  1. Poo reference d'une methode a un objet stocker dans $this
    Par magicshark dans le forum Langage
    Réponses: 4
    Dernier message: 30/04/2013, 22h42
  2. [PHP 5.2] [POO] Reference dynamique à $this
    Par yann290276 dans le forum Langage
    Réponses: 15
    Dernier message: 14/03/2010, 17h59
  3. cannot reference this before supertype constructor has been called
    Par renlel dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 26/11/2009, 14h25
  4. passage de <this> par reference
    Par eKinai dans le forum C#
    Réponses: 7
    Dernier message: 22/01/2007, 12h00
  5. [VB6]Passage par référence d'une prop. d'objet à une fct
    Par -gYs- dans le forum VB 6 et antérieur
    Réponses: 15
    Dernier message: 02/09/2002, 08h55

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