Chess">
POO Classes Et Objets
POO Classes Et Objets
POO Classes Et Objets
PROBLEME :
1. Définir une classe Client avec les attributs suivants : CIN, Nom, Prénom, Tél.
2. Définir à l’aide des propriétés les méthodes d’accès aux différents attributs de la classe.
3. Définir un constructeur permettant d’initialiser tous les attributs.
4. Définir un constructeur permettant d’initialiser le CIN, le nom et le prénom.
5. Définir la méthode Afficher ( ) permettant d’afficher les informations du Client en cours.
6. Créer Une classe Compte caractérisée par son solde et un code qui est incrémenté lors de
sa création ainsi que son propriétaire qui représente un client.
7. Définir à l’aide des propriétés les méthodes d’accès aux différents attributs de la classe (le
numéro de compte et le solde sont en lecture seule)
8. Définir un constructeur permettant de créer un compte en indiquant son propriétaire.
9. Ajouter à la classe Compte les méthodes suivantes :
Une méthode permettant de Crediter() le compte, prenant une somme en paramètre.
Une méthode permettant de Crediter() le compte, prenant une somme et un compte
en paramètres, créditant le compte et débitant le compte passé en paramètres.
Une méthode permettant de Debiter() le compte, prenant une somme en paramètre
Une méthode permettant de Débiter() le compte, prenant une somme et un compte
bancaire en paramètres, débitant le compte et créditant le compte passé en paramètres
Une méthode qui permet d’afficher le résumé d’un compte.
Une méthode qui permet d’afficher le nombre des comptes crées.
10. Créer un programme de test pour la classe Compte.
Solution :
1. class Client
2. {
3. private string cin;
4. private string nom;
5. private string prenom;
6. private string tel;
7.
8. public string Cin //Cin en lecture seule
9. {
10. get { return cin; }
11. }
12. public string Nom
13. {
14. get { return nom; }
15. set { nom = value; }
16. }
17. public string Prenom
18. {
19. get { return prenom; }
20. set { prenom = value; }
21. }
22. public string Tel
23. {
24. get { return tel; }
25. set { tel = value; }
26. }
27.
28. public Client(string cin, string nom, string prenom, string tel)
29. {
30. this.cin = cin;
31. this.nom = nom;
32. this.prenom = prenom;
33. this.tel = tel;
34. }
35.
36. public Client(string cin, string nom, string prenom)
37. {
38. this.cin = cin;
39. this.nom = nom;
40. this.prenom = prenom;
41. }
42.
43. public void Afficher()
44. {
45. Console.Out.WriteLine("CIN: " + cin);
46. Console.Out.WriteLine("NOM: " + nom);
47. Console.Out.WriteLine("Prénom: "+prenom);
48. if(tel!="")
49. Console.Out.WriteLine("Tél : "+tel);
50. }
1.
class Compte
2. {
3. private int numero;
4. private double solde;
5. private Client proprietaire;
6. private static int nombre_comptes = 0;
7.
8. public int Numero
9. //Le numéro de compte est lecture seule
10. {
11. get { return numero; }
12. }
13.
14. public double Solde
15. //Le solde est en lecture seule
16. {
17. get { return solde; }
18. }
19.
20. public Client Proprietaire
21. {
22. get { return proprietaire; }
23. set { proprietaire = value; }
24. }
25.
26. public Compte(Client proprietaire)
27. {
28. nombre_comptes++;
29. numero = nombre_comptes;
30. this.proprietaire = proprietaire;
31. }
32.
33. public void Crediter(double somme)
34. {
35. solde += somme;
36. Console.Out.WriteLine("Opération bien effectuée");
37. }
38.
39. public void Crediter(Compte c, double somme)
//une deuxiéme méthode Crediter(..) avec des paramétres différents (surcharge des
méthodes)
40. {
41. if (c.solde >= somme)
42. {
43. c.solde -= somme;
44. solde += somme;
45. Console.Out.WriteLine("Opération bien effectuée");
46. }
47. else
48. Console.Out.WriteLine("Solde de compte insuffisant");
49. }
50.
51. public void Debiter(double somme)
52. {
53. if (solde >= somme)
54. {
55. solde -= somme;
56. Console.Out.WriteLine("Opération bien effectuée");
57. }
58. else
59. Console.Out.WriteLine("Solde insuffisant");
60. }
61.
62. public void Debiter(Compte c, double somme)
//une deuxiéme méthode Debiter(..) avec des paramétres différents (surcharge des
méthodes)
63. {
64. if (solde >= somme)
65. {
66. solde -= somme;
67. c.solde += somme;
68. Console.Out.WriteLine("Opération bien effectuée");
69. }
70. else
71. Console.Out.WriteLine("Solde insuffisant");
72. }
73.
74. public void Afficher()
75. {
76. Console.Out.WriteLine("************************");
77. Console.Out.WriteLine("Numéro de Compte: " + numero);
78. Console.Out.WriteLine("Solde de compte: " + solde);
79. Console.Out.WriteLine("Propriétaire du compte : ");
80. proprietaire.Afficher();
81. Console.Out.WriteLine("*************************");
82. }
83.
84. public static void Nombre_Comptes()
85. {
86. Console.Out.WriteLine("\n\nLe nombre de comptes crées: " +
nombre_comptes);
87. }
88. }
1. class Program
2. {
3. static void Main(string[] args)
4. {
5. Console.Out.WriteLine("Compte 1: ");
6. string cin, nom, prenom, tel;
7. Console.Out.Write("Donner Le CIN: ");
8. cin = Console.In.ReadLine();
9. Console.Out.Write("Donner Le Nom: ");
10. nom = Console.In.ReadLine();
11. Console.Out.Write("Donner Le Prénom: ");
12. prenom = Console.In.ReadLine();
13. Console.Out.Write("Donner Le numéro de télephone: ");
14. tel = Console.In.ReadLine();
15.
16. Compte C1 = new Compte(new Client(cin, nom, prenom, tel));
17. Console.Out.WriteLine("Détails du compte: ");
18. C1.Afficher();
19.
20. double montant;
21. Console.Out.Write("Donner le montant à déposer: ");
22. montant = double.Parse(Console.In.ReadLine());
23. C1.Crediter(montant);
24. C1.Afficher();
25.
26. Console.Out.Write("Donner le montant à retirer: ");
27. montant = double.Parse(Console.In.ReadLine());
28. C1.Debiter(montant);
29. C1.Afficher();
30.
31. Console.Out.WriteLine("\n\nCompte 2: ");
32. Console.Out.Write("Donner Le CIN: ");
33. cin = Console.In.ReadLine();
34. Console.Out.Write("Donner Le Nom: ");
35. nom = Console.In.ReadLine();
36. Console.Out.Write("Donner Le Prénom: ");
37. prenom = Console.In.ReadLine();
38. Console.Out.Write("Donner Le numéro de télephone: ");
39. tel = Console.In.ReadLine();
40.
41. Compte C2 = new Compte(new Client(cin, nom, prenom, tel));
42. Console.Out.WriteLine("Détails du compte: ");
43. C2.Afficher();
44.
45. Console.Out.WriteLine("Crediter le compte 2 à partir du compte
1");
46. Console.Out.Write("Donner le montant à déposer: ");
47. montant = double.Parse(Console.In.ReadLine());
48. C2.Crediter(C1, montant);
49.
50. Console.Out.WriteLine("Débiter le compte 1 et créditer le compte
2");
51. Console.Out.Write("Donner le montant à retirer: ");
52. montant = double.Parse(Console.In.ReadLine());
53. C1.Debiter(C2, montant);
54.
55. C1.Afficher();
56. C2.Afficher();
57.
58. Compte.Nombre_Comptes();
59.
60. Console.ReadKey();
61. }
62. }