Sérialisation
Fermé
fixoudb
Messages postés
2
Date d'inscription
mardi 20 février 2018
Statut
Membre
Dernière intervention
21 février 2018
-
Modifié le 20 févr. 2018 à 20:03
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 23 févr. 2018 à 13:45
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 23 févr. 2018 à 13:45
1 réponse
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
20 févr. 2018 à 20:21
20 févr. 2018 à 20:21
Bonjour,
Cette écriture est maladroite et potentiellement fausse :
Imaginons que l'on prenne deux objets différents :
Soit tu utilises la notation objet avec
Idem pour
En réalité ni l'un ni l'autre, ce que tu désérialises c'est l'objet qu'il y a dans le fichier, et c'est ce fichier qu'il faudrait mettre en paramètre.
Notamment quand tu fais
Remarque : en Java les méthodes et les noms de variables commencent par une minuscule.
Cette écriture est maladroite et potentiellement fausse :
me.Ser(me);
Imaginons que l'on prenne deux objets différents :
a.Ser(b);lequel tu veux sérialiser a, ou b ?
Soit tu utilises la notation objet avec
me.Ser();pour sérialiser
this, soit tu fais des méthodes static et tu sérialises l'argument :
Personne.Ser(me);...
Idem pour
me.Deser(me);, ça n'a pas de sens, avec
a.Deser(b);qu'est-ce que tu désérialises, a, b ?
En réalité ni l'un ni l'autre, ce que tu désérialises c'est l'objet qu'il y a dans le fichier, et c'est ce fichier qu'il faudrait mettre en paramètre.
Notamment quand tu fais
P = (Personne) ois.readObject();c'est faux, modifier la référence du paramètre ne va pas modifier l'objet qui correspond (et ça c'est toujours vrai, ce n'est pas spécifique à la sérialisation)
Remarque : en Java les méthodes et les noms de variables commencent par une minuscule.
21 févr. 2018 à 16:38
Tout d'abord merci de vote réponse.
Effectivement les écritures des méthodes Ser et Deser ne sont pas cohérentes au niveau des arguments, seulement j'avais besoin d'une Personne P dans mes fonctions et étant débutant en java je ne sais pas comment faire autrement..
Auriez vous à votre connaissance des méthodes de sérialisation et de déserialisation qui conviendraient dans un cas comme celui-ci ?
L'idée serait de pouvoir ré-obtenir les attributs de mes personnages à chaque réouverture de Netbeans par exemple..
Merci d'avance !
21 févr. 2018 à 18:55
Exemple :
23 févr. 2018 à 12:32
Il y a juste un problème, l'ordinateur ne connaît pas la classe File... est-ce à moi de la construire ?
23 févr. 2018 à 13:45