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

avec Java Discussion :

explication du mot instance courante


Sujet :

avec Java

  1. #1
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 116
    Points : 55
    Points
    55
    Par défaut explication du mot instance courante
    Bonjour
    le mot clé this designe une référence sur l'instance courante.
    Ma question est:
    qu'est ce qu'on veut dire d'une instance courante.
    merci

  2. #2
    Membre expérimenté
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Points : 1 540
    Points
    1 540
    Par défaut Reponse :
    Bonjour,

    Imaginez que votre programme soit un JFrame contenant une classe de votre crue qui étend JPanel.
    Puis, dans votre JPanel, vous placez un JButton dont vous voulez évidement intercepter l'événement d'appui (actionPerformed(ActionEvent e)).
    Pour cela, votre JPanel devra implémenter ActionListener.
    Et pour que tout fonctionne correctement, il faut enregistrer l'écoute sur le bouton à l'aide de sa méthode addActionListener(this)...
    Dans cet exemple, le mot clé this représentera l'instance de votre JPanel.
    Lorsque votre JFrame sera construit (exécuté), il invoquera une instance de votre VotreJPanel.class (le fichier résultant de la compilation de votre fichier VotreJPanel.java) en appelant l'un de ses constructeurs.
    Le constructeur de VotreJPanel se charge d'instancier et de placer le JButton et d'enregistrer son écoute : JButton.addActionListener(this)
    Dans votre JFrame, vous aurez attribué un nom à votre instance de VotreJPanel, par exemple : VotreJPanel contenu = new VotreJPanel();
    A cet instant, lors du déroulé des instructions du constructeur de VotreJPanel, this représente "contenu", c.a.d. une instance de VotreJPanel, et non pas VotreJPanel lui-même.
    D'ailleurs, implicitement, dans une classe, écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public Class MaClasse {
     
       private String test = "toto";
     
       public MaClasse() {
          System.out.println("Bonjour " + test);
          }
     
       public static void main(String args[]) {
          MaClasse testeur = new MaClasse();
          }
    }
    On pourrait écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println("Bonjour" + this.test);
    Mais comme dans ce cas, c'est une évidence, le mot clé this devient implicite et il n'est pas nécessaire de l'écrire.
    J'espère que vous avez compris...

  3. #3
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 133
    Points : 149
    Points
    149
    Par défaut
    Par exemple, si tu travailles dans une sandwicherie, et que tu t'occupes de faire les sandwichs.

    Ton boss va te filer des directives (tous les sandwichs possibles, le nombre de tranche de jambon / fromage par sandwich, les sauces à mettre ...).

    Dans ce cas là, ta classe représente plus ou moins le modèle d'un sandwich.
    Et l'instance courante sera le sandwich que tu sera réellement en train de faire, qui respectera ce modèle.

    Pour cibler plus en objet :

    Sandwich s = new Sandwich() => crée une nouvelle instance de Sandwich

    Le mot clé this sera employé dans le code de ta classe pour définir l'objet qui est concerné. Lorsque tu écris une classe, tu définis le comportement qu'auront les objets de cette classe. Le mot clé this permet de se référer à l'objet actuellement concerné par le traitement.

    Lorsque tu appeleras des méthodes sur un objet A, le mot this pointera sur cet objet A.
    Si tu appelles des méthodes sur B, this pointera sur B.

    J'ai pas de talent pour expliquer clairement, je pense que tu pourrais trouver quelqu'un d'autres ou des tuto sur la programmation objet.

    Bonne chance dans ton apprentissage.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 802
    Points : 653
    Points
    653
    Par défaut
    Je vais essayer de me lancer dans une explication plus simple et surtout plus directe.

    Lorsqu'on appelle une méthode (non statique), celle-ci est obligatoirement appelée en faisant référence à une instance :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Exemple ex = new Exemple();
    ex.methode();
    Eh bien, dans le code de la méthode appelée, this désigne cette référence. Il s'agit de la référence de l'objet sur lequel s'applique la méthode.

  5. #5
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    il faut pas compliqué les choses .

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/05/2010, 00h38
  2. [Framework] Obtenir l'instance courante HttpServletContext
    Par sebge2 dans le forum Spring
    Réponses: 2
    Dernier message: 20/11/2009, 15h05
  3. l`explication de mot _beginthreadex
    Par vitia dans le forum Débuter
    Réponses: 3
    Dernier message: 02/06/2009, 09h23
  4. Instance courante toujours présente ou détruite ?
    Par Somato dans le forum Débuter
    Réponses: 12
    Dernier message: 16/10/2008, 00h37
  5. Réference à l'instance courante (this ?)
    Par horzy dans le forum VB.NET
    Réponses: 1
    Dernier message: 23/05/2007, 17h13

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