CLONER UN OBJET TRÈS SIMPLEMENT

Messages postés
589
Date d'inscription
jeudi 2 octobre 2003
Statut
Membre
Dernière intervention
29 avril 2008
- - Dernière réponse : chris37000
Messages postés
43
Date d'inscription
vendredi 22 décembre 2000
Statut
Membre
Dernière intervention
12 décembre 2017
- 4 juil. 2013 à 13:56
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/29859-cloner-un-objet-tres-simplement

Afficher la suite 
cs_chris81
Messages postés
589
Date d'inscription
jeudi 2 octobre 2003
Statut
Membre
Dernière intervention
29 avril 2008
1 -
slt,
que veux dire serialise et deserialise?
merci
ofeelfree
Messages postés
11
Date d'inscription
mercredi 24 septembre 2003
Statut
Membre
Dernière intervention
14 juin 2005
-
Bonjour,

On pourrait aussi imaginer :

Public Class Personne

Implements ICloneable

Public mNom As String
Public mPrenom As String

Public Sub New(Nom As String, Prenom As String)
mNom = Nom
mPrenom = Prenom
End Sub

Public Function Clone() As Personne Implements ICloneable.Clone
Return New Personne(mNom, mPrenom)
End Function

End Class

Ainsi on peut se passer de la sérialisation et implémenter l'interface par défaut qui va bien...
TheSaib
Messages postés
2369
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
13 -
C'est une astuce intérressante. Cependant ya des techniques un plus objets :)

http://www.codeproject.com/csharp/cloneimpl_class.asp
NicolasLight
Messages postés
5
Date d'inscription
mardi 25 février 2003
Statut
Membre
Dernière intervention
18 novembre 2005
-
Avant tout, merci de vos commentaires.

Pour répondre à Chris81,

Sérialisez signifie en gros :
transformer un objet en données que l'on pourra écrire sur un flux. On utilise alors un formateur (ex : le binaryFormatter) pour transformer cet objet en binaire par exemple, donc en un tableau de bytes, ou en xml avec le xmlSerializer.
Cette manipulation permet ainsi d'écrire un objet sur n'importe quel flux (Stream).

La désérialisation est le procédé inverse de la sérialisation : on retransforme les données d'un flux (Stream) en un objet du type de départ (dans mon exemple, on retransforme en un objet Personne).

J'espère avoir répondu à ta réponse.
cs_chris81
Messages postés
589
Date d'inscription
jeudi 2 octobre 2003
Statut
Membre
Dernière intervention
29 avril 2008
1 -
merci pour tes explications claires 8/10