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
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
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 :
On pourrait é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(); } }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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part System.out.println("Bonjour" + this.test);
J'espère que vous avez compris...
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.
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 :
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Exemple ex = new Exemple(); ex.methode();
il faut pas compliqué les choses .
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager