Le code complet est donné ci-dessous:
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 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
/* Version orientée objets de Banque1. */
class Banque2 {
public static void main(String[] args) {
// Variables locales pour les taux d'intérets (afin d'éviter de
// répéter les mêmes chiffres pour chaque client):
double taux1 = 0.01;
double taux2 = 0.02;
// Construction des deux clients:
Client c1 = new Client("Pedro", "Genève", taux1, 1000.0, taux2, 2000.0);
Client c2 = new Client("Alexandra", "Lausanne", taux1, 3000.0, taux2, 4000.0);
System.out.println("Donnees avant le bouclement des comptes:");
c1.afficher();
c2.afficher();
// Bouclement des comptes des deux clients:
c1.boucler();
c2.boucler();
System.out.println("Donnees apres le bouclement des comptes:");
c1.afficher();
c2.afficher();
}
}
class Client {
private String nom;
private String ville;
private Compte cpt1;
private Compte cpt2;
public Client(String nom, String ville, double taux1, double solde1,
double taux2, double solde2) {
this.nom = nom;
this.ville = ville;
// Construction d'un compte privé:
cpt1 = new Compte(taux1, solde1);
// Construction d'un compte d'épargne:
cpt2 = new Compte(taux2, solde2);
}
public void afficher() {
// Cette méthode affiche les données du client
System.out.println(" Client " + nom + " de " + ville);
System.out.println(" Compte prive: "
+ cpt1.getSolde() + " francs");
System.out.println(" Compte d'epargne: "
+ cpt2.getSolde() + " francs");
}
public void boucler() {
// Cette méthode boucle les deux comptes du client
cpt1.boucler();
cpt2.boucler();
}
}
class Compte {
private double taux;
private double solde;
public Compte(double taux, double solde) {
this.taux = taux;
this.solde = solde;
}
public double getSolde() {
return solde;
}
public void boucler() {
// Cette méthode ajoute les intérets au solde
double interets = taux * solde;
solde = solde + interets;
}
} |
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 |
class Banque3 {
public static void main(String[] args) {
// ... comme avant
// Construction des deux clients, notez l'argument booléen:
// Nouveau (parmètre booléen)
Client c1 = new Client("Pedro", "Geneve", taux1, 1000.0, taux2, 2000.0, true);
Client c2 = new Client("Alexandra", "Lausanne", taux1, 3000.0, taux2, 4000.0, false);
// ... comme avant
}
}
class Client {
private String nom;
private String ville;
private Compte cpt1, cpt2;
// Nouvelle variable d'instance
private boolean masculin;
// Méthode constructeur, notez le paramètre booléen:
public Client(String nom, String ville, double taux1, double solde1,
double taux2, double solde2, boolean masculin) { // Nouveau
this.nom = nom;
this.ville = ville;
cpt1 = new Compte(taux1, solde1);
cpt2 = new Compte(taux2, solde2);
// Nouveau
this.masculin = masculin;
}
public void afficher() {
// Nouvelle instruction if..else
if (masculin) {
System.out.print(" Client ");
} else {
System.out.print(" Cliente ");
}
System.out.println(nom + " de " + ville);
System.out.println(" Compte prive: " +
cpt1.getSolde() + " francs");
System.out.println(" Compte d'epargne: " +
cpt2.getSolde() + " francs");
}
// ... comme avant
}
class Compte {
// ... comme avant
} |