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 :

Est-ce convenable de faire MaClasse.this ?


Sujet :

Langage Java

  1. #1
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 115
    Par défaut Est-ce convenable de faire MaClasse.this ?
    Bonjour,

    J'aurais aimé savoir si c'était propre (voir correct) de faire un truc du genre :

    Ihm.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    class Ihm extends JFrame{
      public Ihm() {...}
     
    public class NouveauListener implements ActionListener{
    		Feuille f = new Feuille(Ihm.this);
    }
     
     }
    Feuille.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        class Feuille extends JInternalFrame{
          Ihm parent;
     
          public Feuille(Ihm p){
          parent = p
          }
        }
    J'ai l'impression de faire une erreur de conception avec ce "Ihm.this", qui est le seul moyen que j'ai trouvé pour passer la référence de mon Ihm à mes autres objets.

    Je me demande donc si ce genre d'instruction est correct car j'ai pas l'habitude de passer mes référence de la sorte en Java.

  2. #2
    Membre Expert Avatar de Ivelios
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 031
    Par défaut
    Utilises seulement this :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Feuille f = new Feuille(this);

  3. #3
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 115
    Par défaut
    Citation Envoyé par Ivelios Voir le message
    Utilises seulement this :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Feuille f = new Feuille(this);
    J'utilise une classe interne en faite (j'ai modif l'exemple plus haut) donc le this ne fonctionne pas et pour que ça fonctionne je suis obligé d'utiliser MaClasse.this, je trouve ça un peu bizarre cette manière de passer une référence c'est pour ça que je demande si c'est correct, propre et conventionnel en Java.

  4. #4
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    À mon avis c'est correct, propre et conventionnel.

    Sous réserve, bien sûr, du reste.

  5. #5
    Membre éprouvé Avatar de yakanet
    Homme Profil pro
    Inscrit en
    Décembre 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations forums :
    Inscription : Décembre 2005
    Messages : 137
    Par défaut
    Si tu veux mon avis, je pense que ton problème n'est pas est-ce propre d'utiliser MaClass.this. Je pense que tu as déjà un problème au niveau de l'accessibilité de tes classes.

    A mon très humble avis, je verai plus quelque chose comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    public class Ihm extends JFrame{
      public Ihm() {...}
     
    }
     
    [public/default en fonction de ton besoin] class NouveauListener implements ActionListener{
     
          public NouveauListener(Ihm ihm){
    		Feuille f = new Feuille(hm);
          }
    }
     
    [public/default en fonction de ton besoin] class Feuille extends JInternalFrame{
          private Ihm parent;
     
          public Feuille(Ihm p){
                 this.parent = p
          }
    }
    L'utilisation des classes internes peuvent paraitre plus simple lors d'une écriture de code, mais cachent souvent un manque de lisibilité du code par la suite.

  6. #6
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 115
    Par défaut
    Merci les gars, ça a répondu à ma question

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

Discussions similaires

  1. [Tkinter] Est-il possible de faire pivoter des PhotoImage ?
    Par sigmar_avenger dans le forum Tkinter
    Réponses: 9
    Dernier message: 06/01/2007, 15h18
  2. Est il possible de faire une fusion
    Par boy569 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 07/02/2006, 13h58
  3. [CONTEXT_FILETXT] Est-ce bien pour faire un menu contextuel
    Par Furius dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 18/11/2005, 21h31
  4. Est il possible de faire planter un système Unix
    Par Patrick PETIT dans le forum Administration système
    Réponses: 15
    Dernier message: 15/06/2004, 15h16
  5. est il possible de faire un trie sur un paramètre donné
    Par chtiboss dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 17/03/2004, 11h51

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