Vous êtes sur la page 1sur 9

abstract class Vehicule {

1. private int matricule;


2. private int modele;
3. private double prix;
4. private static int nb_vehicules = 0;
5.  
6. public int Matricule
7. {
8. get { return matricule; }
9. }
10.
11. public int Modele
12. {
13. get { return modele; }
14. set { modele = value; }
15. }
16.
17. public double Prix
18. {
19. get { return prix; }
20. set { prix = value; }
21. }
22.  
23. public static int Nb_vehicules
24. {
25. get { return nb_vehicules; }
26. }
27.  
28. public Vehicule(int modele, double prix)
29. {
30. nb_vehicules++;
31. matricule = nb_vehicules;
32. this.modele = modele;
33. this.prix = prix;
34. }
35.  
36. public abstract void Demarrer();
37. public abstract void Accelerer();
38.  
39. public override string ToString()
40. {
41. return "Matricule: " + matricule + " Modéle: " +
modele + " Prix: " + prix;
42. }
43. }

La classe Voiture:
1. class Voiture : Vehicule
2. {
3. public Voiture(int modele, double prix) : base(modele, prix) { }
4.  
5. public override void Demarrer() //Implémentation de
la méthode abstraire Démarrer()
6. {
7. Console.Out.WriteLine("La voiture démarre....");
8. }
9.  
10. public override void Accelerer() //Implémentation
de la méthode abstraire accélérer()
11. {
12. Console.Out.WriteLine("La voiture Accélére....");
13. }
14.  
15. public override string ToString()
16. {
17. return "Voiture_ "+base.ToString();
18. }
19. }
//Source : www.exelib.net

La classe Camion:
1. class Camion : Vehicule
2. {
3. public Camion(int modele, double prix) : base(modele, prix) { }
4.  
5. public override void Demarrer()
6. {
7. Console.Out.WriteLine("Le camion démarre....");
8. }
9.  
10. public override void Accelerer()
11. {
12. Console.Out.WriteLine("Le camion Accélére....");
13. }
14.  
15. public override string ToString()
16. {
17. return "Camion_ " + base.ToString();
18. }
19. }

Le programme de test: (Exemple)


1. class Program
2. {
3. static void Main(string[] args)
4. {
5. Voiture v = new Voiture(2005,200000);
6. Console.Out.WriteLine(v);
7. v.Demarrer();
8. v.Accelerer();
9. Camion c = new Camion(2003, 4560000);
10. Console.Out.WriteLine(c);
11. c.Demarrer();
12. c.Accelerer();
13. Console.ReadKey();
14. }
15. }

1. abstract class Employe


2. {
3. private int matircule;
4. private string nom;
5. private string prenom;
6. private DateTime datenaissance;
7.  
8. public int Matircule
9. {
10. get { return matircule; }
11. set { matircule = value; }
12. }
13.  
14. public string Nom
15. {
16. get { return nom; }
17. set { nom = value; }
18. }
19.  
20. public string Prenom
21. {
22. get { return prenom; }
23. set { prenom = value; }
24. }
25.  
26. public DateTime Datenaissance
27. {
28. get { return datenaissance; }
29. set { datenaissance = value; }
30. }
31.  
32. public Employe(int matricule,string nom,string
prenom,DateTime dn)
33. {
34. this.matircule = matricule;
35. this.nom = nom;
36. this.prenom = prenom;
37. this.datenaissance = dn;
38. }
39.  
40. public override string ToString()
41. {
42. return "Matricule: " + matircule + " Nom: " + nom + "
Prénom: " + prenom + "Date de naissance: " +
datenaissance.ToShortDateString();
43. }
44.  
45. public abstract double GetSalaire();
46.  
47. }
48. } 

La classe Ouvrier:
1. class Ouvrier : Employe
2. {
3. private DateTime dateentree;
4. private static double sMIG = 2500;
5.  
6. public static double SMIG
7. {
8. get { return sMIG; }
9.
10. }
11.  
12. public DateTime Dateentree
13. {
14. get { return dateentree; }
15. set { dateentree = value; }
16. }
17.  
18. public Ouvrier(int m, string n, string p, DateTime dn,
DateTime de)
19. : base(m, n, p, dn)
20. {
21. dateentree = de;
22. }
23.  
24. public override string ToString()
25. {
26. return "Employé:"+" "+base.ToString()+" Date d'entrée:
"+dateentree.ToShortDateString();
27. }
28.  
29. public override double GetSalaire()
30. {
31. double salaire;
32. int Anciennete = DateTime.Now.Year - dateentree.Year;
33. if (dateentree.AddYears(Anciennete) >
DateTime.Now.Date)
34. Anciennete--;
35. if (sMIG + Anciennete * 100 <= 2 * sMIG)
36. salaire = sMIG + Anciennete * 100;
37. else
38. salaire = sMIG * 2;
39.  
40. return salaire;
41. }
42. }

La classe Cadre:
1. class Cadre : Employe
2. {
3. private int indice;
4.  
5. public int Indice
6. {
7. get { return indice; }
8. set { indice = value; }
9. }
10.  
11. public Cadre(int matricule, string nom, string prenom,
DateTime dn, int indice)
12. : base(matricule, nom, prenom, dn)
13. {
14. this.indice = indice;
15. }
16.  
17. public override string ToString()
18. {
19. return "Cadre: "+" "+base.ToString()+" Indice:
"+indice;
20. }
21.  
22. public override double GetSalaire()
23. {
24. if (indice == 1)
25. return 13000;
26. else if (indice == 2)
27. return 15000;
28. else if (indice == 3)
29. return 17000;
30. else if (indice == 4)
31. return 20000;
32. else
33. return -1;
//Problème d'indice
34. }
35. }

La classe Patron:
1. class Patron : Employe
2. {
3. private static double ca;
4. private double pourcentage;
5.  
6. public static double Ca
7. {
8. get { return ca; }
9. set { ca = value; }
10. }
11.
12. public double Pourcentage
13. {
14. get { return pourcentage; }
15. set { pourcentage = value; }
16. }
17.  
18. public Patron(int matricule, string nom, string prenom,
DateTime dn, double p)
19. : base(matricule, nom, prenom, dn)
20. {
21. this.pourcentage = p;
22. }
23.  
24. public override string ToString()
25. {
26. return "Patron: "+" "+base.ToString()+" Pourcentage:
"+pourcentage+"%";
27. }
28.  
29. public override double GetSalaire()
30. {
31. return Math.Round((ca * pourcentage / 100) / 12, 2);
32. }
33. }

Le programme de test: (Un exemple)


1. class Program
2. {
3. static void Main(string[] args)
4. {
5. // un exemple de programme de test simple
6. Ouvrier o = new Ouvrier(1, "Nom1", "Prenom1", new
DateTime(1980, 2, 3), new DateTime(2000, 4, 5));
7. Console.Out.WriteLine(o);
8. Console.Out.WriteLine("Salaire de l'employé: " +
o.GetSalaire());
9.
Console.Out.WriteLine("***********************************");
10. Cadre c = new Cadre(2, "Nom2", "Prenom2", new
DateTime(1986, 4, 3), 3);
11. Console.Out.WriteLine(c);
12. Console.Out.WriteLine("Le salaire du cadre est: " +
c.GetSalaire());
13.
Console.Out.WriteLine("***********************************");
14. Patron.Ca = 17000000;
15. Patron p = new Patron(3, "Nom3", "Prenom3", new
DateTime(1970, 6, 6), 3);
16. Console.Out.WriteLine(p);
17. Console.Out.WriteLine("Le salaire du patron est: " +
p.GetSalaire());
18. Console.ReadKey();
19. }
20. }
//Source : www.exelib.net

Vous aimerez peut-être aussi