Vous êtes sur la page 1sur 2

Activité d’apprentissage

Module TDI-12 Programmation Orientée Objet

Précision E Assurer la persistance des objets

Code Activité E 002 Technologie VB.Net 2005

Principes de la persistance et des règles de sérialisation


Activité
des objets.
Phase
Entraînement
d’apprentissage
Cette activité d’apprentissage doit vous permettre de :
 Conserver les valeurs d’une classe
 Désérialiser un objet
Détails sur les
objectifs visés par
l’activité

Description de l’activité

Exercice 1

Utilisation de la sérialisation pour conserver l'objet

Pour conserver les valeurs de la classe Credit, vous devez d'abord


marquer la classe avec l'attribut Serializable.

1. Modifiez la déclaration de la classe Credit de la façon suivante :

<Serializable()> Public Class Credit

2. Empêcher la sérialisation d'un membre (Client)

<NonSerialized()> Public Customer As String

3. utiliserez les espaces de noms System.IO et


System.Runtime.Serialization.Formatters.Binary

4. utilisez un formateur binaire pour enregistrer l'objet dans un


format binaire.

Document Millésime Page


OFPPT @ 737540727.doc novembre 08 1-2
Pour désérialiser un objet

Modifiez le code de la procédure d'événement Form1_Load de la façon


suivante :

Private Sub Form1_Load (ByVal sender …..) Handles MyBase.Load

If File.Exists("SavedLoan.bin") Then
Dim Fich As Stream = File.OpenRead("SaveCredit.bin")
Dim deserializer As New BinaryFormatter()
MonCredit = CType(deserializer.Deserialize(Fich), ClasseCredit.Credit)
Fich.Close()
End If
TextBox1.Text = MonCredit.Capital.ToString
TextBox2.Text = MonCredit.Interet.ToString
TextBox3.Text = MonCredit.Duree.ToString
TextBox4.Text = MonCredit.Client

End Sub

Pour enregistrer les données et sérialiser la classe

Ajoutez le code suivant à la procédure d'événement Form1_Closing :

Private Sub Form1_Closing(ByVal sender….) Handles MyBase.Closing

MonCredit. Capital = CType(TextBox1.Text, Double)


MonCredit. Interet = CType(TextBox2.Text, Double)
MonCredit. Duree = CType(TextBox3.Text, Integer)
MonCredit. Client = TextBox4.Text

Dim Fich As Stream = File.Create("SaveCredit.bin")


Dim serializer As New BinaryFormatter()
serializer.Serialize(Fich, MonCredit)
Fich.Close()

End Sub

À ce stade, vous pouvez de nouveau générer et exécuter l'application. À


l'origine, les valeurs par défaut s'affichent dans les zones de texte.
Essayez de modifier les valeurs et de saisir un nom dans la quatrième
zone de texte.

Fermez l'application et exécutez-la de nouveau.

Remarquez que les nouvelles valeurs s'affichent à présent dans les


zones de texte, excepté le nom du client, qui a été marqué comme
Nonserialized.

Document Millésime Page


OFPPT @ 737540727.doc novembre 08 2-2

Vous aimerez peut-être aussi