Partage
  • Partager sur Facebook
  • Partager sur Twitter

Instancier un nombre X d'objets

Sujet résolu
    21 janvier 2012 à 23:51:00

    Bonjour ,

    Je souhaiterai instancier un nombre X d'objets de ma classe Car à l'aide d'une boucle for.
    exemple :

    for (int i = 0; i < 3; i++)
                {
                    voiture = new Voiture(color, driver);
                }
    


    Dans cette exemple je n aurais qu'un seul objet affiché car je ne peux réutiliser le même nom "voiture" pour d'autre objet.

    Merci d'avance ! ^^
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      21 janvier 2012 à 23:56:50

      OUI j'ai pensé à ça. Ca marche pour une fois mais par exemple, si plus loin dans mon code je souhaiterai créer d'autres voitures avec des identifiants(1,2,3...) ça marche plus car mon tableau :s
      • Partager sur Facebook
      • Partager sur Twitter
        22 janvier 2012 à 0:01:58

        Les identifiants seront les indices de ton tableau :p de toute façon tu ne peux pas créer de nom de variable en faisant par exemple var + i = vari dans une boucle. Si tu veux que tes objets soient nommés tu es obligé de les déclarer toi-même.

        Pour les tableaux il en existe à taille dynamique donc rien ne t'empêche de rajouter autant de voitures que tu veux dedans.
        Pour les identifiants tu peux tout simplement créer un autre tableau à côté et à chaque instanciation d'un objet de ta classe tu ajoutes l'identifiant dans ton 2ème tableau. Du coup tu auras un tableau {voiture1, voiture2...} et l'autre {200, 196...}.

        Sinon je vois pas.
        • Partager sur Facebook
        • Partager sur Twitter
        ⚙️ Une solution simple règle le problème ; une solution compliquée en crée un nouveau.
          22 janvier 2012 à 0:05:25

          AH oui merci Minde ta réponse a apporté un brin de lumière dans mon esprit.

          Par tableau dynamique en java, tu entends 'collections' ?
          • Partager sur Facebook
          • Partager sur Twitter
            22 janvier 2012 à 0:10:02

            Oui :)

            http://www.siteduzero.com/tutoriel-3-1 [...] d-objets.html

            EDIT: dans mon post précédent je parlais surtout des ArrayList mais il existe aussi l'objet HashTable peut-être plus adapté à ton problème cf le lien ci-dessus.
            • Partager sur Facebook
            • Partager sur Twitter
            ⚙️ Une solution simple règle le problème ; une solution compliquée en crée un nouveau.
              22 janvier 2012 à 0:15:12

              J'ai vu le tuto.
              Mais c'est bien ça qui me pertube. Si je boucle avec les Collections, ne va t-il pas écraser les objets que je mettrai à l'intérieur de la collection vu qu'ils auront tous le même nom?

              peux tu me montrer un exemple de création d'objet dans une collection avec une boucle? ( Je suis un peu perdu).
              • Partager sur Facebook
              • Partager sur Twitter
                22 janvier 2012 à 0:29:32

                Pas besoin de leur donner des noms puisque les indices serviront à y accéder dans ta collection.
                Exemple:

                ArrayList<Voiture> al = new ArrayList<Voiture>();
                
                for (int i = 0; i < 3; i++)
                     al.add(new Voiture(color, driver));
                

                Ensuite si tu veux afficher la couleur de la 1ère voiture par exemple tu fais:

                System.out.println(al.get(0).color);     //Fonctionne si color est un objet 'String'
                
                • Partager sur Facebook
                • Partager sur Twitter
                ⚙️ Une solution simple règle le problème ; une solution compliquée en crée un nouveau.
                  22 janvier 2012 à 0:34:21

                  STANDING OVATION POUR TOI Minde !!!


                  Mais oui je crée certes le même nom d'objet mais avec des indices différents donc il ne s'écrase pas comme je l'aurai cru. IL NE s'ECRASEEEEEEE PAAAAAAAS ! c'est ça ???

                  J'ai donc compris???

                  Merci INFINIMENT !!!
                  • Partager sur Facebook
                  • Partager sur Twitter
                    22 janvier 2012 à 0:38:42

                    Oui c'est ça ;)

                    Sauf qu'ils n'ont pas de noms, mais peu importe puisque tu y accèdes via leur indice dans la collection (ou tableau) qui elle par contre a un nom.
                    • Partager sur Facebook
                    • Partager sur Twitter
                    ⚙️ Une solution simple règle le problème ; une solution compliquée en crée un nouveau.
                      22 janvier 2012 à 0:41:42

                      Encore milles mercis, l'obscurité dans mon esprit a fait place à la lumière maintenant. Il est temps de marquer ce sujet comme résolu. ;)
                      • Partager sur Facebook
                      • Partager sur Twitter

                      Instancier un nombre X d'objets

                      × 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