Home
Browsez les 647 exemples
Téléchargez les 647 exemples
Téléchargez des chapitres
Achetez sur amazon.fr

Niveau: Débutant/Intermédiaire
ISBN-2-84177-339-6
50 Euros

Exemple 10-8 extrait du chapitre Le système de types


Exemple 10-7<     > Exemple 10-9


Cet exemple peut être compilé avec la ligne de commande:
csc.exe /target:exe Exemple_10_8.cs
Erreurs: 0 Avertissements: 0
Remarque:


Exemple_10_8.cs
class Article : System.ICloneable {
   public string Description;
   public int Prix;
   public object Clone() {
      return this.MemberwiseClone();
   }
}
class Commande {
   public int Quantite;
   public Article Article;
   public override string ToString() {
      return "Commande: " + Quantite + " x " + Article.Description + 
             "   Coût total: " Article.Prix * Quantite;
   }
   // Constructeur par défaut.
   public Commande() { }
   // Constructeur de copie paramètrable.
   public Commande( Commande original , bool bDeepCopy) {
      this.Quantite = original.Quantite;
      if( bDeepCopy )
         this.Article = original.Article.Clone() as Article;
      else
         this.Article = original.Article;
   }
}
class Program {
   static void Main() {
      Commande commande = new Commande();
      commande.Quantite = 2;
      commande.Article = new Article();
      commande.Article.Description = "Chaussure";
      commande.Article.Prix = 80;
      System.Console.WriteLine(commande);
      Commande commandeClone = new Commande( commande , true );      
      commandeClone.Article.Description = "Veste";
      System.Console.WriteLine(commande);
   }
}	
Copyright Patrick Smacchia 2006 2007