Formation Francais
Formation Francais
Formation Francais
Powerpoint Templates
Page 3
• La programmation objet ou P.O.O.
Classe Bateau :
Powerpoint Templates
Page 5
Avantages de la P.O.O.
Powerpoint Templates
Page 7
Exemple
Powerpoint Templates
Page 8
• Programmation classique, en langage C
#include <stdio.h>
#include <string.h>
struct Personne { /* une personne est décrite par son nom et sa société */
char Nom[25];
char Societe[32];
};
Powerpoint Templates
Page 10
Les concepts de la
programmation orientée
objet
Powerpoint Templates
Page 11
La classe
Powerpoint Templates
Page 12
• Une classe est un moule à partir duquel sont construits des
objets.
Powerpoint Templates
Page 14
Structure d’une classe
using System;
namespace Chap2
{
Entête public class Personne
{
// attributs
Corps
// méthodes
}
}
Powerpoint Templates
Page 15
Conventions d'écriture
• Les propriétés
• Tous les identificateurs public de propriétés commencent
par une majuscule, les propriétés private ou protected
par une minuscule.
• Exemple : privatePowerpoint
denominateur
Templates
(sans accent )
Page 16
• Méthode
• Elle commence par une lettre en majuscule.
• exemple : AjouterVehicule() ; Demarrer() ; InsererFichier
() ; le premier mot est un verbe.
Powerpoint Templates
Page 18
• Un objet ou instance est un représentant particulier
d’une classe.
Powerpoint Templates
Page 20
• En général :
Powerpoint Templates
Page 22
Le concept d’instanciation
Powerpoint Templates
Page 23
L’opérateur new
Powerpoint Templates
Page 24
TP1
Powerpoint Templates
Page 25
using System;
// méthode
public void Affichage()
{
Console.WriteLine(« Prénom :", prenom);
Console.WriteLine(« Nom :", nom);
Console.WriteLine(« Age :", age);
}
}
}
Powerpoint Templates
Page 26
using System;
namespace Chap2 Classe : test
{
class test
{
static void Main()
{
Personne p1 = new Personne();
P1.prenom = « souad »;
p1.nom=« mekkaoui »;
P1.age=24;
P1.affichage();
P2.prenom = « haouda »;
p2.nom=« Alaoui»;
P2.age=32;
P2.affichage();
}
} Powerpoint Templates
} Page 27
EXERCICES
Powerpoint Templates
Page 28
• Exercice 1:
• Un matricule (entier)
• Un statut (chaine)
• Un service (chaine)
• Un nom (nom)
• Un salaire (réel)
• Travail à faire :
• Travail à faire :
1 - Codage des classes Module et Formateur
2- Ajouter une méthode Afficher() qui permet d’afficher les
informations des objets
3 – Créer et afficher un objet type module et un autre type
formateur Powerpoint Templates Page 30
Le constructeur
Powerpoint Templates
Page 31
Le constructeur
• Un constructeur est une méthode qui porte le nom de la
classe et qui est appelée lors de la création de l'objet. On
s'en sert généralement pour l'initialiser.
public Personne()
{
}
// instanciation
Powerpoint Templates
Page 37
3 - Constructeur de recopie
• Le constructeur de recopie permet de recopier
les propriétés d'un objet existant vers une
nouvelle instance de même type.
Powerpoint Templates
Page 38
public Personne(Personne P)
{
This.prenom=P.prenom;
This.nom=P.nom;
This.age=P.age;
}
Instanciation :
Powerpoint Templates
Page 39
EXERCICES
Powerpoint Templates
Page 40
• Exercice 1:
Powerpoint Templates
Page 41
• Travail à faire :
1 - Codage de la classe Produit
2- Ajouter dans la classe Produit :
- une méthode Afficher() qui permet d’afficher les
produits.
- un constructeur d’initialisation qui permet
d’initialiser tous les champs
- un constructeurs de recopie.
Code
Nom
Prénom
Date de naissance
Powerpoint Templates
Page 43
• Travail à faire :
1- Codage de la classe élève.
2- Ajouter une méthode Afficher().
3- ajouter un constructeur qui initialisent le code et le
nom.
4-ajouter le constructeur qui initialisent les autres
attributs, ce constructeur doit faire appel au premier
constructeur.
5 - Ajouter un constructeur de recopie
6- en utilisant les constructeurs d’initialisation créer l’objet
E1 type élève.
7- en utilisant le constructeur de recopie copier E1 dans le
nouveau objet E2(type élève)
8 – afficher l’objet E2.
Powerpoint Templates
Page 44
L’encapsulation
Powerpoint Templates
Page 45
Powerpoint Templates
Page 46
• L'encapsulation est un concept important de la
Programmation Orientée Objet.
Powerpoint Templates
Page 47
Les accesseurs
et
les modificateur
Powerpoint Templates
Page 48
1 - Protection des propriétés
Powerpoint Templates
Page 49
• Public : Un champ public (public) est accessible par
toute méthode définie ou non au sein de la classe
• .
• Protégé : Un champ protégé (protected) n'est accessible
que par les seules méthodes internes de la classe ou
d'un objet dérivé (voir ultérieurement le concept
d'héritage). Powerpoint Templates
Page 50
• Afin d’implanter correctement le concept
d'encapsulation, il convient de verrouiller l'accès aux
propriétés et de les déclarer private ou protected
tout en permettant leur accès via les méthodes de
type Accesseur en déclarant ces dernières public.
Powerpoint Templates
Page 51
Exemple :
// attributs
private string prenom;
private string nom;
private int age;
Powerpoint Templates
Page 52
2 - Fonctions d'accès aux propriétés
Powerpoint Templates
Page 54
public String GetNom()
{
return nom;
}
Console.Out.WriteLine (p.GetNom() );
Powerpoint Templates
Page 55
B - Accès pour modification
Console.Out.WriteLine (p.GetNom() );
Powerpoint Templates
Page 57
3 - Accès aux attributs membres par les
Property de classe
Powerpoint Templates
Page 58
Class personne
{
Private string nom;
Private string prenom;
……..
Powerpoint Templates
Page 59
Public String NomP
{
Get { Return nom ;}
Set { nom = Value ;}
}
Powerpoint Templates
Page 60
EXERCICES
Powerpoint Templates
Page 61
• Exercice 1:
Code
Nom
Prénom
Date de naissance
Powerpoint Templates
Page 62
• Travail à faire :
Powerpoint Templates
Page 63
• Exercice 2:
• Travail à faire :
1. - Codage de la classe Produit (les attributs sont de type
private)
2. Définir les accesseurs et modificateurs.
3. créer l’objet P1 (type produit).
4. en utilisant les modificateurs affecter des valeurs aux
attributs des objets et en utilisant les accesseurs
afficher ses attributs
Powerpoint Templates
Page 64
• Exercice 3:
• Un matricule (entier)
• Un statut (chaine)
• Un service (chaine)
• Un nom (nom)
• Un salaire (réel)
• Travail à faire :
Powerpoint Templates
Page 66
Propriétés de classe
Powerpoint Templates
Page 67
• On peut inclure le compteur dans la définition de la
classe. Comme c'est un attribut de la classe elle-même
et non celui d'une instance particulière de cette classe,
on le déclare différemment avec le mot clé static :
Personne.NbPersonnes.
Voici un exemple.
public static int NbPersonnes
{
get { return nbPersonnes; }
}
Powerpoint Templates
Page 70
public class Personne
{
// attributs de classe
private static int Compteur;
// attributs d'instance
private string prenom;
private string nom;
private int age;
// constructeurs
public Personne(String p, String n, int age)
{
This.prenom=p;
This.nom=n;
This.age=a;
CompteurPowerpoint
++; Templates
} Page 71
static void Main(string[] args)
{
Personne p1 = new Personne("Jean", "Dupont", 30);
Personne p2 = new Personne(« Ktani", « leila", 30);
Le résultat sera : 2
Powerpoint Templates
Page 72
Série 1
Powerpoint Templates
Page 73
L'Héritage
Powerpoint Templates
Page 74
1. Classe de base et sous
classe
Powerpoint Templates
Page 76
Powerpoint Templates
Page 77
• Plusieurs classes filles peuvent hériter d’une même
classe mère.
• Exemple :
Powerpoint Templates
Page 80
• Personne la classe parent et Enseignant la classe
dérivée.
Powerpoint Templates
Page 81
3. Constructeurs
Powerpoint Templates
Page 83
• using System;
• namespace Chap2
• { CLASSE PERSONNE
• public class Personne
• {
• // attributs
• private string prenom;
• private string nom;
• // propriétés
• public string Prenom
• { get { return prenom; }
• set {prenom = value; }
• }
• // propriété Section
• public int Section
• {
• get { return section; }
• set { section = value; }
• }
• // constructeur
• using System;
• namespace Chap2 CLASSE Program
• {
• class Program
• {
• static void Main(string[] args)
• {
• Enseignant e1= new Enseignant("Jean", "Dupont", 30, 27);
• Console.writeline (e1.Nom +" , "+ e1.Prenom +" , " + e1.Section);
• }
• }
• } Powerpoint Templates
Page 86
• La classe Enseignant rajoute aux méthodes et attributs de la
classe Personne :
* un attribut section qui est le n° de section auquel
appartient l'enseignant dans le corps des enseignants. Cet
attribut privé est accessible via la propriété publique
Section.
* un nouveau constructeur permettant d'initialiser tous les
attributs d'un enseignant.
Powerpoint Templates
Page 88
signature
Powerpoint Templates
Page 89
Le polymorphisme
Powerpoint Templates
Page 90
Polymorphisme
overloading
overriding
Powerpoint Templates
Page 92
La Redéfinition d’une méthode
ou d’une propriété
Powerpoint Templates
Page 93
La Redéfinition d’une méthode
Powerpoint Templates
Page 94
Redéfinition : « new »
Powerpoint Templates
Page 95
Exemple
• public class Vehicule
• { Classe Vehicule
• private int poids;
• // méthode redéfinie
• public new string Description()
• {
• return base.Description()+" de couleur "+couleur;
• }
• }
Powerpoint Templates
Page 97
Class Program
{
Static void main()
{
Automobile A1 = new Automobile(3, "rouge");
Console.WriteLine( A1.Description() );
}
Powerpoint Templates
Page 98
Redéfinition : « virtual - override »
Powerpoint Templates
Page 99
Exemple :
• public class Vehicule
• {
• private int poids;
Powerpoint Templates
Page 102
La Redéfinition d’une propriété
public class Personne
{
• // attributs
• private string nom;
• private int age;
• //constructeur
• public Personne (sting n, int a)
• { this.nom=n; this.age=a}
{
get { return "personne : "+_prenom+","+_nom+","+age;}
}
} Powerpoint Templates
Page 103
• class Enseignant : Personne
• {
• // attributs
• private int section;
• // propriété Section
• public int sectionP
• { get{ return section;}
set{ this.section=value;}
}
• //constructeur
• public Enseignant (string n, int a, int s):base (n,a)
• {this.section=s;}
• // propriété Identite
• console.writeline (E1.identite);
• Console.readkey()
• }
Powerpoint Templates
Page 105
• la propriété Identite de la classe Enseignant s'appuie sur la
propriété Identite de sa classe mère (base.Identite) pour
afficher sa partie "Personne" puis complète avec le champ
section qui est propre à la classe Enseignant.
Powerpoint Templates
Page 107
• L'héritage permet donc de redéfinir dans la classe fille
des méthodes/propriétés de même nom dans la classe
mère. C'est ce qui permet d'adapter la classe fille à ses
propres besoins.
Powerpoint Templates
Page 108
Exercice
Powerpoint Templates
Page 109
Créer la classe Salarie. Cette classe aura 5 propriétés :
matricule (int)
catégorie (string)
service (string)
nom (string)
salaire (double)
Powerpoint Templates
Page 110
• 5. Créer une classe Commercial en dérivant la classe Salarie. Cette
classe aura 1 propriété supplémentaire pour calculer la commission
• commission int
Powerpoint Templates
Page 111
La surcharge
Powerpoint Templates
Page 112
• Le polymorphisme de surcharge permet d'avoir
des fonctions de même nom, avec des
fonctionnalités différentes (paramètres de
différents types)
Powerpoint Templates
Page 113
• La première méthode additionne 2 entiers et la
deuxième concatène 2 chaînes de caractères
• class Addition
• {
• public void add(int a, int b)
• {
• Console.WriteLine("la somme est :" + (a+b));
• }
• a.add(4, 5);
• a.add("yassir", "sarah");
• Console.ReadKey();
• }
Powerpoint Templates
Page 115
Surcharge des constructeurs
Powerpoint Templates
Page 116
• public class Client
• {
• private int numeroClient; // numéro client
• private String nomClient; // nom du client
• // constructeur d’initialisation
• public Client(int numero, String nom)
• {
• numeroClient = numero;
• nomClient = nom;
• }
• // constructeur de recopie
• public Client (Client C)
• {
• numeroClient = C. numeroClient;
• nomClient = C.nomClient ;
• }
• } Powerpoint Templates
Page 117
Question
Powerpoint Templates
Page 118
Réponse
• Il s'agit de la surcharge.
Powerpoint Templates
Page 119
Série 2
Powerpoint Templates
Page 120
Classes abstraites et
interfaces
Powerpoint Templates
Page 121
Classe abstraite
Powerpoint Templates
Page 122
• Une classe abstraite peut contenir des constructeurs pour
faire appeler par ses classes dérivées
( avec base(. . .) )
• C1.Méthode2();
• }
• }
Powerpoint Templates
Page 126
Exercice
Powerpoint Templates
Page 127
classe abstraite : Figure
1)Méthode abstraite : Perimetre()
2) Méthode abstraite : Surface()
Powerpoint Templates
Page 129
Déclarer une interface
void Afficher();
Powerpoint Templates
Page 131
Implémenter une interface
Powerpoint Templates
Page 132
• public class Personne : Iaffichable
• {
• private string nom, prenom;
• Public Personne (string _nom,_prenom)
{
This.nom=_nom ;
This.prenom=_prenom ;
}
• public void Afficher()
• {
• Console.WriteLine(nom+" "+prenom);
• }
• public void Afficher(string message)
• {
• Console.WriteLine(nom+" "+prenom+" : "+message);
• }
• } Powerpoint Templates
Page 133
public class program
{
public static void main()
{
Personne P1= new Personne (« alami », « houda »);
P1.afficher();
P1.afficher(‘’ Technicienne’’);
Console.readkey();
Powerpoint Templates
Page 134
Différence
Classe abstraite et Interface
Powerpoint Templates
Page 135
• Le C# (et aussi Java) ne supporte pas l'héritage
multiple
Classe de Classe de Classe de etc …
base base base
A1 A2 A3
classe dérivée
B
Powerpoint Templates
Page 136
• En C# une classe n'a pas le droit d'hériter directement deux classes
de base. Par contre, C# permet à une classe d'être dérivée d'une
seule classe de base mais implémente une ou plusieurs interfaces.
sous-classe B
dérivée de A
implémente I1, I2, etc
Powerpoint Templates
Page 137
La classe Object
Powerpoint Templates
Page 138
La classe Object
• Object NewClass
• Equals
• ToString
• Finalize
• GetHashCode
Powerpoint Templates
Page 140
Méthode ToString
Powerpoint Templates
Page 141
• class Personne
• {
private string nom;
private string prenom;
Powerpoint Templates
Page 142
• Le code que nous avons ajouté est une redéfinition
de la fonction ToString de la classe Object.
Powerpoint Templates
Page 143
Méthode Equals
Powerpoint Templates
Page 144
Exemple
• class Personne
• { • public Personne(int r,string n)
• private int reference; • {
• this.reference = r;
• public int Reference • this.nom = n;
• { • }
• get { return reference; }
• set { reference = value; }
• } • public override bool Equals(object obj)
• {
• private string nom; • Personne p = (Personne)obj;
• if (p1.Equals(p2))
• {
• Console.WriteLine("égaux");
• }
• else
• {
• Console.WriteLine("inégaux");
• }
• Console.ReadKey();
• }
Powerpoint Templates
Page 146
Exercice
Powerpoint Templates
Page 148
Gestion des exceptions
Powerpoint Templates
Page 149
Qu’est ce qu’une
exception
• De nombreuses fonctions C# sont susceptibles de générer
des exceptions, c'est à dire des erreurs.
Powerpoint Templates
Page 151
• static void Main(string[] args)
TP1
• {
• int a, b;
• Console.WriteLine(" Donnez le premier nombre");
• a = int.Parse(Console.ReadLine());
• if (b == 0)
• throw new Exception(" Vous ne devez pas saisir un nombre égale à 0 ");
• else
•
• Console.WriteLine("resultat : " + a / b);
• Console.ReadKey();
• }
Powerpoint Templates
Page 152
Attraper une exception
Powerpoint Templates
Page 153
Syntaxe de gestion d’une exception
• Try
• {
• // code susceptible de générer l'exception
• }
• c = a / b;
• }
• catch (Exception ex)
• { Console.WriteLine(ex.Message);
• }
• finally
• {
• Console.WriteLine("Fin du programme ");
• }
• Console.ReadKey();Powerpoint
} Templates
Page 155
Créer une classe d'exception
Powerpoint Templates
Page 156
Exemple
• {
• public ErreurAgeException(string msg) : base(msg)
• {
•
• }
• }
Powerpoint Templates
Page 157
• Class personne
• { TP3
• private int age;
• // proprieté
• Public int Age
• { Get{ return age; }
• Set{
• If(value<0)
• throw new ErreurAgeException(« valeur tapée incorrecte »);
• Else
• age=value;
• }
• // constructeur
• Public personne (int a)
• {
• if (a<0)
• throw new ErreurAgeException(« vous devez saisir un chiffre i<0);
• Else
• This.age=a;
• } Powerpoint Templates
Page 158
• class Program
• {
TP3
• static void Main(string[] args)
• {
• try
• {
• personne p = new personne();
• p.Age = -3;
• }
• catch (ErreurAgeException e)
• {
• Console.WriteLine(e.Message);
• }
• try
• {
• personne p = new personne(-3);
• }
• catch (ErreurAgeException e)
• {
• Powerpoint Templates
Console.WriteLine(e.Message);
Page 159
• }
Les collections
Powerpoint Templates
Page 160
Définition
Powerpoint Templates
Page 162
Classe Array
Powerpoint Templates
Page 163
Méthode ou propriétés Description
Length nombre d'éléments du tableau
Powerpoint Templates
Page 164
• using System;
• public class tab1
• { Exemple 1
• public static void Main(string[] args)
• {
• int[] array1 = new int[3];
• array1[0] = 5; array1[1] = 10; array1[2] = 15;
• //méthode sort
• Array.Sort(array2);
Powerpoint Templates
Page 167
Méthode ou propriétés
Capcity Nombre d’éléments que le tableau peut contenir
count Nombre d’éléments actuellement dans le tableau
Powerpoint Templates
Page 168
• using System.Collections;
• class program
• { Exemple 2
• public static void Main(string[] args)
• {
• //Créer et initialiser arrayList
• ArrayList al = new ArrayList();
• al.Add(1) ;
• al.Add(45) ;
• al.Add(87) ;
•
Powerpoint Templates
Page 170
Classe hashtable
clé2 valeur2
Powerpoint Templates
Page 171
Méthodes ou propriétés Description
Count nombre d'éléments du dictionnaire
Powerpoint Templates
Page 172
• using System.Collections;
Exemple 3
• class program
• {
• public static void Main(string[] args)
• {
• //méthode Add
• dict.Add(1,"fakri") ;
• dict.Add(2, "hiba");
• dict.Add(3, "sara");
• for(int i=0;i<=dict.Count;i++)
• {
• Console.WriteLine(dict[i]);
• } Powerpoint Templates
Page 173
• //Nombre d'éléments du dictionnaire
• console.writeline(« nombre d’éléments : »+ dict.Count);
• // Sélectionner un élément
• variable = dict[1]
• console.writeline(variable);
• // méthode remove()
• Console.WriteLine("-----------------------------");
• dict.Remove(3);
• // méthode clear()
• dict.Clear();
Powerpoint Templates
Page 174
Classe SortedList
Powerpoint Templates
Page 175
Méthodes ou propriétés Description
Count nombre d'éléments actuellement dans
la liste
Keys Collection des clés de la liste triée
Values Collection des valeurs ( objets ) de la
liste
Powerpoint Templates
Page 178
Méthode ou propriétés
Count nombre d'éléments de la liste
Capacity nombre d'éléments que la liste peut contenir
avant d'être redimensionnée. Ce
redimensionnement se fait automatiquement
Add(T item) ajoute item à la liste
BinarySearch<T>(T item) rend la position de item dans la liste s'il s'y
trouve sinon un nombre <0
Powerpoint Templates
Page 179
• Exemple
• List<stagiaire> liste = new List<stagiaire>();
• liste.Add(S3)
• liste.Add(S2)
• liste.Add(S3);
• stagiaire p = liste[0];
• // afficher la liste des stagiaire
• foreach (stagiaire s in liste)
• {
• Console.WriteLine("le stagiaire est" + s.Nom + s.Prénom + s.Note);
• }
Powerpoint Templates
Page 180
Exercice 1
Powerpoint Templates
Page 181
• Définir une classe Patient dont les caractéristiques sont :
Code patient (affecté de façon incrémentale par rapport au
nombre de patients), Nom, Prénom.
Powerpoint Templates
Page 182
1. Définir une classe CabinetMedical dont les caractéristiques
sont : une liste des patients
2. Ajouter une méthode ajouterPatient qui ajoute un patient à
l’ensemble des patients du cabinet .
Powerpoint Templates
Page 184
Exercice 2
Powerpoint Templates
Page 185
Extrait de l’épreuve pratique V2 - 2012
Powerpoint Templates
Page 186
– Définir une classe Vol dont les caractéristiques sont :
• Prix billet : prix payé par chaque voyageur de ce vol (le même prix
pour tous).
Powerpoint Templates
Page 187
– Ecrire un constructeur sans aucun paramètre permettant de définir la
valeur du numéro du vol et d’affecter la date système à Date vol.
– Ajouter par code deux vols à la liste des vols. Utiliser certains
Powerpoint
constructeurs et certaines Templates
méthodes déjà conçus. Page 189
– Concevoir le menu suivant :
1. Ajouter avion.
2. Ajouter vol.
3. Lister tous les vols
4. Fin
Powerpoint Templates
Page 190
Classe String
Powerpoint Templates
Page 191
Méthode ou propriétés
Length Nombre de caractère dans la chaine
Powerpoint Templates
Page 192
• using System;
• public class string1
Exemple 5
• {
Powerpoint Templates
Page 193
Classe Regex
Powerpoint Templates
Page 196
Powerpoint Templates
Page 197
Vérifier qu'une chaîne correspond à un
modèle donné
• if(r1.IsMatch(exemplaire2))
• Console.WriteLine("L'exemplaire correspond au modèle");
• else
• Console.WriteLine("L'exemplaire correspond au modèle");
Powerpoint Templates
Page 200
Les fichiers
Powerpoint Templates
Page 201
classe StreamReader
Powerpoint Templates
Page 202
// constructeur
public StreamReader(string path) ouvre un flux à partir du fichier path.
Une exception est lancée si celui-ci
n'existe pas
Powerpoint Templates
Page 203
• using System;
• using System.IO; TP 1
• class Program
• {
• public static void Main(string[] args)
• {
• string ligne=null;
• StreamReader flux=null;
• // lecture contenu du fichier
• flux=new StreamReader("infos.txt");
• ligne=fluxInfos.ReadLine();
Powerpoint Templates
Page 205
// constructeur
public StreamWriter(string path) ouvre un flux d'écriture dans le fichier
path. Une exception est lancée si
celui-ci ne peut être créé.
// méthodes
public virtual void Close() ferme le flux
public virtual string WriteLine(string écrit value dans le flux ouvert suivi
value) d'un saut de ligne
public virtual string Write(string value) idem mais sans le saut de ligne
Powerpoint Templates
Page 206
• using System;
• using System.IO; TP 2
• class Program
• {
• public static void Main(string[] args)
• {
• string ligne=null; // une ligne de texte
• StreamWriter flux=null; // le fichier texte
Powerpoint Templates
Page 207
• // boucle tant que la ligne saisie est non vide TP 2
Powerpoint Templates
Page 210
• La sérialisation (en anglais serialization) est un procédé
qui consiste à sauver l'état d'un objet sur le disque ou le
réseau plutôt que de le garder en mémoire.
Powerpoint Templates
Page 212
Exemple
Powerpoint Templates
Page 213
• using System;
• using System.Collections.Generic;
• using System.Linq;
• using System.Text;
• namespace sérialisation
• {
• [Serializable]
• string telephone;
Powerpoint Templates
Page 216
• using System;
• using System.Collections.Generic;
• using System.Linq;
• using System.Text;
• using System.IO;
• using System.Xml.Serialization;
• namespace sérialisation
• {
• [Serializable]
• public class Carnet : List<Personne>
• {
• int capacité;
• public Carnet(int cap)
• {
• this.capacité = cap;
• }
Powerpoint Templates
Page 217
• public Carnet()
• {
• }
• public void Sauvegarder(string filename)
• {
• FileStream file = File.Open(filename, FileMode.OpenOrCreate);
• XmlSerializer serializer = new XmlSerializer(typeof(Carnet));
• serializer.Serialize(file, this);
• file.Close();
• }
• foreach (Personne s in t)
• {System.Console.WriteLine(s.Nom + " " + s.Prenom + " " +s.Telephone);}
• }
Powerpoint Templates
Page 219
Fin
Powerpoint Templates
Page 220