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-7 extrait du chapitre Le système de types


Exemple 10-6<     > Exemple 10-8


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


Exemple_10_7.cs
class Article : System.ICloneable {
   public string Description;
   public int Prix;
   public object Clone() {
      // Copie superficielle = Copie en profondeur.
      return this.MemberwiseClone();
   }
}
class Commande : System.ICloneable {
   public int Quantite;
   public Article Article;
   public override string ToString() {
      return "Commande: " + Quantite + " x " + Article.Description + 
             "   Coût total: " Article.Prix * Quantite;
   }
   public object Clone() {
      // Copie en profondeur.
      Commande clone = new Commande();
      clone.Quantite = this.Quantite;
      clone.Article = this.Article.Clone() as Article;
      return clone;
   }
}
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 = commande.Clone() as Commande;
      commandeClone.Article.Description = "Veste";
      System.Console.WriteLine(commande);
   }
}	
Copyright Patrick Smacchia 2006 2007