Partage
  • Partager sur Facebook
  • Partager sur Twitter

Accéder aux variables d'instances

avec les interfaces

Sujet résolu
    16 février 2009 à 6:29:35

    Bonjour,
    Voilà j'ai une interface A et une classe B <T> qui implémente A. Dans ma classe B j'ai une variable d'instance de type ArrayList <T> qui se nomme ensemble. Une des méthodes que je dois redéfinir possède cette en-tête.
    public B <T> maMethode( A <T> autre )
    

    Mon problème est que je ne suis pas capable d'accéder à la variable d'instance de autre. J'ai essayé ceci : autre.ensemble mais il me met toujours comme erreur que ensemble n'existe pas.

    Donc voilà, je cherche à savoir comment accéder à une variable d'instance d'un paramètre qui est du type de mon interface.

    Merci :)
    • Partager sur Facebook
    • Partager sur Twitter
      16 février 2009 à 8:46:44

      As-tu bien défini ta variable ensemble dans ton interface ?
      • Partager sur Facebook
      • Partager sur Twitter
        16 février 2009 à 12:35:23

        Avec un cast et des getters ?
        • Partager sur Facebook
        • Partager sur Twitter
          16 février 2009 à 12:41:02

          surtout avec des getters =/
          évite de travailler directement sur tes variables comme ça :o

          sinon ben heuu voilà quoi :p
          • Partager sur Facebook
          • Partager sur Twitter
            16 février 2009 à 17:25:46

            J'ai essayé avec des getters, mais ça me fait la même chose. Aussi, je ne peut pas modifier mon interface, c'est pour un travail d'école, donc je ne peut pas définir ma variable ensemble dans mon interface.

            Citation : Snooooopy

            surtout avec des getters =/
            évite de travailler directement sur tes variables comme ça :o

            sinon ben heuu voilà quoi :p


            Je travaille directement dans ma classe, donc pourquoi devrais-je éviter de travailler directement avec mes variables ?
            • Partager sur Facebook
            • Partager sur Twitter
              16 février 2009 à 18:11:28

              ha °_0 ben si c'est direct dans ta class pourquoi tu fais
              "autre.ensemble"
              et pas directement
              "ensemble"
              • Partager sur Facebook
              • Partager sur Twitter
                16 février 2009 à 18:42:40

                Parce que autre c'est un paramètre. D'accord, voilà je vais mettre le code de ma méthode :
                public MultiEnsembleArrayList <T> union ( TdaMultiEnsemble <T> autre ) {
                        MultiEnsembleArrayList <T> ensembleRetour = new MultiEnsembleArrayList <T>();
                        for ( int i = 0; i < this.ensemble.size(); ++i ) {
                            ensembleRetour.ensemble.add( new Element<T>( this.ensemble.get( i ) ) );
                        }        
                        for( int i = 0; i < autre.ensemble.size(); ++i ) {
                            ensembleRetour.ajouter( autre.ensemble.get( i ).element(), autre.ensemble.get( i ).nbOccurrences() );
                        }                
                
                        return ensembleRetour;
                      }
                

                TdaMultiEnsemble c'est mon interface, et MultiEnsembleArrayList c'est la classe qui implémente l'interface. Bon je sais que juste comme ça, le code ne dit pas grand chose, parce que ma variable ensemble est de type ArrayList <Element <T>>, donc j'utilise des méthodes de ma classe Element. Mais voilà...
                • Partager sur Facebook
                • Partager sur Twitter

                Accéder aux variables d'instances

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown