[Précédent]
[Index] | [Corrigé] | [Version imprimable]
[Prochain]

7.5
  Banque - Enoncé
Niveau 2
 
 
But:
  Transformer un programme donné en un programme OO    
Thème:
  Transformation d'un programme non OO en un programme OO, POO de base    
Fichiers:
  Banque1.java    

Le fichier Banque1.java contient un programme bancaire qui est modularisé sous forme de méthodes auxiliaires. Transformez-le en programme orienté objet sous le nom de Banque2.java en suivant les étapes suivantes :

Exemple d'exécution du programme:

Donnees avant le bouclement des comptes:
   Client Pedro de Geneve
      Compte prive:     1000.0 francs
      Compte d'epargne: 2000.0 francs
   Client Alexandra de Lausanne
      Compte prive:     3000.0 francs
      Compte d'epargne: 4000.0 francs
Donnees apres le bouclement des comptes:
   Client Pedro de Geneve
      Compte prive:     1010.0 francs
      Compte d'epargne: 2040.0 francs
   Client Alexandra de Lausanne
      Compte prive:     3030.0 francs
      Compte d'epargne: 4080.0 francs
Code donné:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
class Banque1 {

    public static void main(String[] args) {
        // Données pour tous les comptes privés (taux d'intérêt):
        double taux1 = 0.01;
        // Données pour tous les comptes d'épargne (taux d'intérêt):
        double taux2 = 0.02;
        // Données pour le premier client (nom et ville):
        String nom1 = "Pedro";
        String ville1 = "Geneve";
        // Données pour le compte privé du premier client (solde):
        double solde1PremierClient = 1000.0;
        // Données pour le compte d'épargne du premier client (solde):
        double solde2PremierClient = 2000.0;
        // Données pour le deuxième client (nom et ville):
        String nom2 = "Alexandra";
        String ville2 = "Lausanne";
        // Données pour le compte privé du deuxième client (solde):
        double solde1DeuxiemeClient = 3000.0;
        // Données pour le compte d'épargne du deuxième client (solde):
        double solde2DeuxiemeClient = 4000.0;

        // Afficher les données du premier client:
        afficherClient(nom1, ville1, solde1PremierClient, solde2PremierClient);
        // Afficher les données du deuxième client:
        afficherClient(nom2, ville2, solde1DeuxiemeClient, solde2DeuxiemeClient);

        // Bouclement du compte privé du premier client:
        solde1PremierClient = bouclerCompte(solde1PremierClient, taux1);
        // Bouclement du compte d'épargne du premier client:
        solde2PremierClient = bouclerCompte(solde2PremierClient, taux2);
        // Bouclement du compte privé du deuxième client:
        solde1DeuxiemeClient = bouclerCompte(solde1DeuxiemeClient, taux1);
        // Bouclement du compte d'épargne du deuxième client:
        solde2DeuxiemeClient = bouclerCompte(solde2DeuxiemeClient, taux2);

        // Afficher les données du premier client:
        afficherClient(nom1, ville1, solde1PremierClient, solde2PremierClient);
        // Afficher les données du deuxième client:
        afficherClient(nom2, ville2, solde1DeuxiemeClient, solde2DeuxiemeClient);
    }

    static void afficherClient(String nom, String ville,
                double solde1, double solde2) {
        // Cette méthode affiche les données du client
        System.out.println("Client " + nom + " de " + ville);
        System.out.println("   Compte prive:     " + solde1 + " francs");
        System.out.println("   Compte d'epargne: " + solde2 + " francs");
    }

    static double bouclerCompte(double solde, double taux) {
        // Cette méthode ajoute les intérêts au solde
        double interets = taux * solde;
        double nouveauSolde = solde + interets;
        return nouveauSolde;
    }
}

Banque avec des clientes (Niveau 1)

Vous avez bien noté que l'affichage du programme Banque1 ne fait pas de différence entre les clientes et les clients. Ceci est facile à corriger dans la version orientée objets du programme, par exemple en ajoutant une variable d'instance booléenne masculin à la classe Client (si vous en avez une) et en testant sa valeur dans la méthode d'affichage. Modifiez votre programme, par exemple sous le nom de Banque3, pour qu'il affiche "cliente" au lieu de "client" comme suit:

Donnees avant le bouclement des comptes:
   Client Pedro de Geneve
      Compte prive:     1000.0 francs
      Compte d'epargne: 2000.0 francs
   Cliente Alexandra de Lausanne
      Compte prive:     3000.0 francs
      Compte d'epargne: 4000.0 francs
Donnees apres le bouclement des comptes:
   Client Pedro de Geneve
      Compte prive:     1010.0 francs
      Compte d'epargne: 2040.0 francs
   Cliente Alexandra de Lausanne
      Compte prive:     3030.0 francs
      Compte d'epargne: 4080.0 francs

 


[Précédent]
[Index] | [Corrigé] | [Version imprimable]
[Prochain]