Partage
  • Partager sur Facebook
  • Partager sur Twitter

Équivalent du struct de C++ en Java

Sujet résolu
    5 avril 2010 à 19:56:42

    Bonjour à tous, j'ai présentement un TP à faire pour un de mes cours de programmation en Java et je suis bloqué au début du travail.

    Voici une partie de ce que je dois faire.
    Pour chaque programme (un seul programme), on doit garder la liste des cours associés à ce dernier avec les informations suivantes pour chacun des cours dans un tableau trié:
    -le signe du cours, le nom, le nombre d'étudiant maximum, le nombre d'étudiants inscrits, le liste des pré-requis à ce cours ainsi que la liste d'étudiants inscrits.

    En tant que tel, cela ne me pose pas trop de problème. La où je bloque, c'est qu'il faut garder le tout dans des fichiers. Je cherche depuis hier soir sur internet mais je ne trouve pas d'informations intéressantes. En Java, il n'y a pas le struct comme en C++, ce que j'ai souvent utilisé par le passé pour sauvegarder/lire/modifier des données dans des fichiers. Éventuellement, je vais aussi devoir trier ces données, mais cela peut attendre.

    En gros, j'aurais besoin d'aide sur comment sauvegarder en Java dans un fichier l'équivalent du struct en C++.

    Merci d'avance, espérant que quelqu'un puisse m'aider. =)
    • Partager sur Facebook
    • Partager sur Twitter
      5 avril 2010 à 20:21:02

      Une class, c'est une struct avec des méthodes en plus.
      • Partager sur Facebook
      • Partager sur Twitter
        5 avril 2010 à 20:22:32

        Je ne fais pas de C++, mais tu peux sauvegarder tes objets dans des fichiers via la sérialisation par exemple.
        • Partager sur Facebook
        • Partager sur Twitter
          5 avril 2010 à 20:23:59

          Bonjour,

          Citation :

          le struct comme en C++, ce que j'ai souvent utilisé par le passé pour sauvegarder/lire/modifier des données dans des fichiers.



          C'est louche; comment procédais-tu ?
          Si c'était à coup de write(&objet, sizeof(struct MaStruct)) (à peu près) ça passe tant que tu ne changes pas de machine (et tant que tu n'as pas de pointeur dans la structure).

          En C++, une structure c'est la même chose qu'une classe, seule la visibilité par défaut change.
          En Java tu utilises donc des classes.
          Mot clé pour ta recherche : Java objet serialisation.
          Puis tiens, on tombe sur un tuto du coin :

          http://www.siteduzero.com/tutoriel-3-3 [...] -en-java.html

          =)
          • Partager sur Facebook
          • Partager sur Twitter
            5 avril 2010 à 21:01:41

            Citation : Grinwik


            Si c'était à coup de write(&objet, sizeof(struct MaStruct)) (à peu près) ça passe tant que tu ne changes pas de machine (et tant que tu n'as pas de pointeur dans la structure).



            C'est pas mal ce que je faisais si mes souvenirs sont bon. (Ça remonte a 2 ans peut-être...)

            Sérialisation... terme que je ne connaissais pas jusqu'à il y a 30 secondes. J'ai regardé vite fait le tuto, je crois que ça ressemble énormément à ce dont j'ai besoin pour réaliser mon TP.

            Je te remercie grandement (les deux autres aussi). J'me lance dedans et si ça fonctionne bien, je vais mettre le problème comme étant résolu au cours de la soirée.
            • Partager sur Facebook
            • Partager sur Twitter
              5 avril 2010 à 21:24:17

              En C++, un struct est une classe où tout est public par défaut (alors que dans une classe, tout est privé par défaut). Le struct de C++ est donc différent du struct de C.

              Sinon, pourquoi ne pas y aller avec des classes de toutes façons?
              • Partager sur Facebook
              • Partager sur Twitter
                5 avril 2010 à 21:34:33

                Citation : Masado

                Une class, c'est une struct avec des méthodes en plus.


                Pas en C++ où une struct peut parfaitement avoir des méthodes.
                • Partager sur Facebook
                • Partager sur Twitter
                  5 avril 2010 à 21:41:06

                  J'étais pas au courant pour les méthodes en C++. De toute façon, même en C, y a moyen de faire des "classes" grâce aux struct
                  • Partager sur Facebook
                  • Partager sur Twitter
                    11 avril 2010 à 17:31:23

                    Je vous remercie. J'ai réussis à faire ce que je cherchais à faire. Soit enregistrer un objet dans un fichier. Avoir su que cela était la sérialisation, j'aurais pu le faire bien avant... enfin.

                    Merci beaucoup à vous tous et ce sujet est maintenant résolu.
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Équivalent du struct de C++ en Java

                    × 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