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

 Java Discussion :

Fonctionnement objet Serializable


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 8
    Par défaut Fonctionnement objet Serializable
    Bonjour,

    Je suis en train d'apprendre comment fonctionne cet objet afin de pouvoir réaliser des sauvegardes d'un jeu et j'ai quelques questions :

    - Je dois implémenter une classe pour sérialiser et une autre pour désérialiser. D'après les 2 tutoriels que j'ai lu, dans la classe sérialiser, je dois créer une instance de l'objet à sauvegarder.

    Mon jeu possède plusieurs objets (tableau , primitifs...) que je dois copier afin de pouvoir le charger.
    Donc, j'ai créé un nouveau constructeur qui pourra démarrer le jeu, à partir d'un tableau tout fait par exemple.
    Est-ce une bonne méthode pour recharger mon objet ou y a-t-il de meilleures méthodes ?

    - Comme je veux sauvegarder mon jeu à tout moment, je dois communiquer certaines informations à ma classe qui va sérialiser.
    De ce fait, suis-je du coup obligé d'inclure cette classe dans la classe dans laquelle il y a les informations (donc faire une classe interner sérialiser) ?
    Mais bon même si je fais de cette manière je suis encore heurté à un problème : je ne sais pas comment communiquer mon tableau actuelle à ma classe étant donner que dans le main je ne peux pas inclure des méthodes non-static.

    Merci d'avance pour votre aide.

  2. #2
    Membre émérite Avatar de Gardyen
    Homme Profil pro
    Bio informaticien
    Inscrit en
    Août 2005
    Messages
    637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bio informaticien

    Informations forums :
    Inscription : Août 2005
    Messages : 637
    Par défaut
    à priori ta méthode est correcte, un constructeur ou une méthode .load(data) reviennent au même

    ensuite il te sera plus simple de placer tes données à charger/sauvegarder dans un container et de sérialiser celui-ci. Java propose de nombreux containers comme les maps, à toi de voir ce qui te convient le mieux, une map ou un objet dédié.

  3. #3
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Un peu dangereux la sérialisation pour des sauvegardes. Vu que les objets sérialisés ne sont pas compatibles entre les diverses versions de java & cie.

    Je te recommanderais plus de passer au moins par de la sérialisation XML à grand coup de XStream, ou de défénir ton propre format si tu veux vraiment du binaire.

Discussions similaires

  1. Mettre à jour un objet serializable
    Par peofofo dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 17/08/2012, 10h17
  2. [Serialisation] Modification/Evolution de l'objet serializable.
    Par JuFromParis dans le forum Général Java
    Réponses: 6
    Dernier message: 26/07/2010, 16h34
  3. comment récupérer un int d'un objet Serializable ?
    Par blueLight dans le forum Général Java
    Réponses: 4
    Dernier message: 06/06/2009, 09h58
  4. Réponses: 7
    Dernier message: 14/05/2009, 23h01
  5. Envoi d'objet serializable entre client serveur
    Par the_frette dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 11/12/2007, 10h23

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