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

Java Discussion :

this et objet courant


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 2
    Par défaut this et objet courant
    Bonjour

    je debute en java et jaimerais savoir a quoi renvoie le "this" dans cette expression, en d autre termes quel est l'objet courant ? ( contexte : gestion de l'evenement d'un clique pour reduire une frame )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    private void jLabel2MouseClicked(java.awt.event.MouseEvent evt) {                                     
     
            this.setState(JFrame.ICONIFIED);
     
        }
    merci

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2013
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 131
    Par défaut
    Bonjour,

    Le mot "this" renvoie aux variables/methodes de ton instance. Dans ton exemple il n'est pas obligatoire de l'utiliser.
    Je te donne un exemple plus simple a comprendre dans lequel le "this" est obligatoire :
    Imagine toi une classe Person :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class Person {
        private String name;
        private double age;
     
        public Person(String name, double age) {
              name = name;
              age = age
        }
    }
    Ma classe contient deux variables : String name et double age.
    Ce code ne peux pas se compiler.
    Mon constructeur exige via son constructeur de recevoir ces deux valeurs pour pouvoir instancier un objet Person.
    Utilisant les memes noms de variables entre les variables de classe et celles de mon constructeur, le compileur ne peux pas comprendre les deux lignes du constructeur. Est ce que le "name" a gauche du signe "=" correspond a la variable de mon object ou la variable recue par le constructeur ? (idem pour la variable age).

    Pour differencier les deux, il nous faudra donc ecrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public Person(String name, double age) {
              this.name = name;
              this.age = age
    }
    Le mot "this" vient ici specifier que la variable "name" a gauche du signe "=" correspond a la variable de l'objet en cours de creation et non pas de la variable du constructeur.

    Il est cependant tout a fait possible de ne pas utiliser le mot "this" si mes variables avaient un nom different :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public Person(String n, double a) {
              name = n;
              age = a
    }
    J'espere avoir ete suffisament claire.

Discussions similaires

  1. [MooTools] AddEvent sur un element dans une Class : this n'est pas l'objet courant
    Par Neilime05 dans le forum Bibliothèques & Frameworks
    Réponses: 6
    Dernier message: 12/01/2011, 12h20
  2. Réponses: 5
    Dernier message: 06/09/2010, 11h15
  3. [PHP 5.0] Tableau et l'objet courant $this
    Par Alexr dans le forum Langage
    Réponses: 3
    Dernier message: 09/06/2009, 10h06
  4. Objet Courant This et appel à un opérateur
    Par TheOyoStyledMan dans le forum C++
    Réponses: 2
    Dernier message: 13/06/2006, 16h35
  5. méthode sur l'objet courant?
    Par mathher dans le forum C++
    Réponses: 3
    Dernier message: 31/03/2006, 17h27

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