Dans votre dépot git créer un nouveau dossier ex01_Garage
Vous allez mettre en pratique une bonne partie de ce que vous avez appris de ce cours :
Voici un diagramme de classes vous représentant l’exercice :
Vous l’aurez compris, vous allez devoir créer un garage, mais vous allez devoir aussi le sauvegarder dans un fichier… Le but étant qu’à chaque fois que vous ajoutez un nouveau véhicule dans votre garage, celui-ci se sauvegarde automatiquement dans un fichier. Il faudra aussi automatiquement charger le garage lors de son instanciation.
Étant d’un naturel magnanime, je vous donne une classe de test pour votre programme :
public class Program { public static void Main(string[] args) { Garage garage = new Garage(); Console.WriteLine(garage); Vehicule lag1 = new Lagouna(); lag1.SetMoteur(new MoteurEssence("150 Chevaux", 10256d)); lag1.AddOption(new GPS()); lag1.AddOption(new SiegeChauffant()); lag1.AddOption(new VitreElectrique()); garage.AddVoiture(lag1); Vehicule A300B_2 = new A300B(); A300B_2.SetMoteur(new MoteurElectrique("1500 W", 1234d)); A300B_2.AddOption(new Climatisation()); A300B_2.AddOption(new BarreDeToit()); A300B_2.AddOption(new SiegeChauffant()); garage.AddVoiture(A300B_2); Vehicule d4_1 = new D4(); d4_1.SetMoteur(new MoteurDiesel("200 Hdi", 25684.80d)); d4_1.AddOption(new BarreDeToit()); d4_1.AddOption(new Climatisation()); d4_1.AddOption(new GPS()); garage.AddVoiture(d4_1); Vehicule lag2 = new Lagouna(); lag2.SetMoteur(new MoteurDiesel("500 Hdi", 456987d)); garage.AddVoiture(lag2); Vehicule A300B_1 = new A300B(); A300B_1.SetMoteur(new MoteurHybride("ESSENCE/Electrique", 12345.95d)); A300B_1.AddOption(new VitreElectrique()); A300B_1.AddOption(new BarreDeToit()); garage.AddVoiture(A300B_1); Vehicule d4_2 = new D4(); d4_2.SetMoteur(new MoteurElectrique("100 KW", 1224d)); d4_2.AddOption(new SiegeChauffant()); d4_2.AddOption(new BarreDeToit()); d4_2.AddOption(new Climatisation()); d4_2.AddOption(new GPS()); d4_2.AddOption(new VitreElectrique()); garage.AddVoiture(d4_2); Console.WriteLine(garage); } }
Et pour que vous ayez une idée de ce que ce programme pourrait vous donner, voici deux screenshots, celui-ci lors du premier WriteLine de cette classe de test :
Aucune voiture sauvegardée ! ************************** * Garage .NET * **************************
Et celui-là après le deuxième WriteLine (vous constaterez que mon garage n’est plus vide à ce moment-là) :
+ Voiture RENO : Lagouna Moteur ESSENCE 150 Chevaux (23123.0€) [GPS (113.5€), Siège chauffant (562.9€), Vitre electrique (212.35€)] d'une valeur totale de 24011.75 € + Voiture PIGEOT : A330B Moteur ELECTRIQUE 1500 W (28457.8€) (Climatisation (347.3€), Barre de toit (29.9€), Siège chauffant (562.9€)] d'une valeur totale de 29397,100000900082 € + Voiture TROEM : 04 Moteur DIESEL 200 Hdi (25147.0€) [Barre de toit (29.9€), Climatisation (347.3€), GPS (113.5€}] d'une valeur totale de 25637.7 € + Voiture REWO : Lagouna Moteur DIESEL 500 Hdi (23123.0€) [] d'une valeur totale de 23123.0 € + Voiture PIGEOT ; A3303 Moteur HYBRIDE ESSENCE/Electrique (28457.8€) [Vitre electrique (212.35€), Barre de toit (29.9€)] d'une valeur totale de 28699.25 € + Voiture TROEM : 04 Moteur ELECTRIQUE 108 KW (25147.0€) [Siège chauffant (562.9€), Barre de toit (29.9€), Climatisation (347.34€), GPS (113.5€), Vitre electrique (212.35€)] d'une
C'est à vous !