static void Main(string[] args) { //1. Instaciation personne Personne p = new Personne(); p.Nom = "Rodriguez"; p.Prenom = "Belen"; p.DateDeNaissance = new DateTime(1985, 02, 01); Console.WriteLine($"Nom: {p.Nom} - Prenom: {p.Prenom}, Date de Naissance: {p.DateDeNaissance}"); //2.1 Lier vehicule avec la personne //Vehicule v = new Vehicule(); //-->une fois que la classe devienne abstraite on ne pourra pas l'instancier //v.Proprietaire = p; //v.Modele = "Citadine"; //v.Immatriculation = "1234567"; //2.2 Instancier une voiture et un camion et les lier avec la personne Voiture v = new Voiture() { Proprietaire = p, Modele = "Citadine", Immatriculation = "1234567", NombresDePlace = 4 }; //les deux, camion et voiture ont le meme propietaire Camion c = new Camion() { Proprietaire = p, Modele = "Unknown", Immatriculation = "7891234", NombresKm = 300000 }; //les deux, camion et voiture ont le meme propietaire v.Proprietaire = p; c.Proprietaire = p; Console.WriteLine($"La personne {v.Proprietaire.Prenom}, {v.Proprietaire.Nom} possede la voiture modele {v.Modele} avec immatriculation {v.Immatriculation} et nombre de places {v.NombresDePlace}"); Console.WriteLine($"La personne {v.Proprietaire.Prenom}, {v.Proprietaire.Nom} possede le camion modele {c.Modele} avec immatriculation {c.Immatriculation} ave nombres de km {c.NombresKm}"); //3. Instaciation reparation Reparation reparationRoue = new Reparation(); reparationRoue.Intitulé = "Reparation roues"; reparationRoue.Duree = 2; Reparation reparationEssuiGlass = new Reparation(); reparationEssuiGlass.Intitulé = "Reparation essui glass"; reparationEssuiGlass.Duree = 3; Reparation reparationPneus = new Reparation(); reparationPneus.Intitulé = "Reparation Pneus"; reparationPneus.Duree = 4; Reparation reparationRetroviseur = new Reparation(); reparationRetroviseur.Intitulé = "Reparation Retroviseur "; reparationRetroviseur.Duree = 1; Reparation reparationCoffre = new Reparation(); reparationCoffre.Intitulé = "Reparation Coffre"; reparationCoffre.Duree = 1; Reparation reparationPeinture = new Reparation(); reparationPeinture.Intitulé = "Reparation Peinture"; reparationPeinture.Duree = 1; //4. Lier le vehicule (voiture ou camion) avec la facture Facture fVoiture = new Facture(); // Instantiation de la facture pour la voiture fVoiture.Vehicule = v; //Lié avec la voiture Facture fCamion = new Facture(); fCamion.Vehicule = c; //Lié avec le camion //5. Mettre tous les reparations d'un vehicule dans la facture fVoiture.Ajouter(reparationRoue); fVoiture.Ajouter(reparationEssuiGlass); fVoiture.Ajouter(reparationPneus); fVoiture.Ajouter(reparationRetroviseur); fVoiture.Ajouter(reparationPeinture); fVoiture.Ajouter(reparationCoffre); //fVoiture.AfficherTousReparations(); //f.CalculerCoutTotal(v); // on ne peut acceder directement a la méthode car est uen méthode privée. //6.Afficher la facture //f.AfficherFacture(v); Console.WriteLine(v.calculPrixHoraire()); //Affiche le prix horaire applique à la voiture Console.WriteLine(c.calculPrixHoraire()); //Afficher le prix horarie applique au camion //6.Afficher la facture fVoiture.AfficherFacture(); fCamion.AfficherFacture(); }