示例#1
0
        static void Main(string[] args)
        {
            try
            {

                Voiture v = new Voiture(enEtatVoiture.Immobile);
                Console.WriteLine("La Voiture est dans l'état {0}", v.Etat);

                v.Deplacer();
                Console.WriteLine("La Voiture est dans l'état {0}", v.Etat);

                v.Arreter();
                Console.WriteLine("La Voiture est dans l'état {0}", v.Etat);

                v.FaireService();
                Console.WriteLine("La Voiture est dans l'état {0}", v.Etat);

                v.EffectuerCourseEssai();
                Console.WriteLine("La Voiture est dans l'état {0}", v.Etat);

                v.RetournerauGarage();
                Console.WriteLine("La Voiture est dans l'état {0}", v.Etat);

                v.RetourService();
                Console.WriteLine("La Voiture est dans l'état {0}", v.Etat);

                v.MettreEnVente();
                Console.WriteLine("La Voiture est dans l'état {0}", v.Etat);

                v.Vendre();
                Console.WriteLine("La Voiture est dans l'état {0}", v.Etat);
                v.Vendre();
                Console.WriteLine("La Voiture est dans l'état {0}", v.Etat);

            }
            catch (TransitionEtatImpossibleException e)
            {
                Console.WriteLine(e.Message);
            }
        }
示例#2
0
 // Constructeur
 public EnDeplacement(Voiture v)
     : base(v)
 {
     etatCourant = enEtatVoiture.EnDeplacement;
 }
示例#3
0
 // Constructeur
 public EtatVoiture(Voiture v)
 {
     voiture = v;
 }
示例#4
0
 public EnMaintenance(Voiture v)
     : base(v)
 {
     etatCourant = enEtatVoiture.EnMaintenance;
 }
示例#5
0
 public Immobile(Voiture v)
     : base(v)
 {
     etatCourant = enEtatVoiture.Immobile;
 }
示例#6
0
 public Vendue(Voiture v)
     : base(v)
 {
     etatCourant = enEtatVoiture.Vendue;
 }
示例#7
0
 public EnVente(Voiture v)
     : base(v)
 {
     etatCourant = enEtatVoiture.EnVente;
 }