Exercice :
Comptes Bancaires :
- Un compte bancaire possède à tout moment une donnée : son solde. Ce solde peut être positif (compte créditeur) ou négatif (compte débiteur).
- Chaque compte est caractérisé par un code incrémenté automatiquement.
- A sa création, un compte bancaire a un solde nul et un code incrémenté.
- Il est aussi possible de créer un compte en précisant son solde initial.
- Utiliser son compte consiste à pouvoir y faire des dépôts et des retraits. Pour ces deux opérations, il faut connaître le montant de l'opération.
- L'utilisateur peut aussi consulter le solde de son compte par la méthode toString().
- Un compte Epargne est un compte bancaire qui possède en plus un champ « TauxInterêt =6» et une méthode calculIntérêt() qui permet de mettre à jour le solde en tenant compte des interêts.
- Un ComptePayant est un compte bancaire pour lequel chaque opération de retrait et de varsement est payante et vaut 5 dh
Questions :
- Faire le diagramme des classes
- Définir la classe CompteBancaire .
- Définir la classe CompteEpargne.
- Définir la classe ComptePayant.
- Définir une classe contenant la fonction main() permettant de tester les classes CompteBancaire et CompteEpargne avec les actions suivantes:
o Créer une instance de la classe CompteBancaire , une autre de la
classe CompteEpargne et une instance de la classe ComptePayant
o Faire appel à la méthode deposer() de chaque instance pour
déposer une somme quelconque dans ces comptes.
o Faire appel à la méthode retirer() de chaque instance pour
retirer une somme quelconque de ces comptes.
o Faire appel à la méthode calculInterêt() du compte Epargne.
o Afficher le solde des 3 comptes.
-
Diagramme de
classes :
-
Classe CompteBancaire
public
class CompteB {
int code;
float solde;
static int nbComptes=0;
public CompteB(float s){
solde=s;
++nbComptes;
code=nbComptes;
}
public CompteB(){
this(0);
}
public void verser(float mt){
solde=solde+mt;
}
public void retirer(float mt){
solde-=mt;
}
public String toString(){
return ("code="+code+
"Solde="+solde);
}
-
}Classe CompteEpargne :
public class CompteE extends CompteB {
float taux=6;
public
CompteE(float s){
super(s);
}
public
CompteE(){
super(0);
}
public void
calculInterets(){
solde=solde*(1+taux/100);
}
public String
toString(){
return
"Compte Epargne"+super.toString()+ "taux="+taux;
}
}
-
Classe Payant :
public
class CompteP extends CompteB {
public CompteP(float s){
super(s);
}
public CompteP(){
super(0);
}
public void verser(float mt){
//solde=solde+mt;
//solde=solde-5;
super.verser(mt);
super.retirer(5);
}
public void retirer(float mt){
//solde=solde-mt;
//solde=solde-5;
super.retirer(mt);
super.retirer(5);
}
public String toString(){
return "Compte
Payant"+super.toString();
}
}
-
Classe TestCompte :
public class TestCompte {
public
static void main(String[] args) {
CompteB
c1=new CompteB(5000);
CompteE
c2=new CompteE(55000);
CompteP
c3=new CompteP();
c1.verser(6000);
c1.retirer(4000);
System.out.println(c1.toString());
c2.verser(3300);
c2.retirer(2000);
System.out.println(c2);
c2.calculInterets();
System.out.println(c2);
c3.verser(2000);
System.out.println(c3.toString());
}
}
Résultat de l’exécution :
code=1Solde=7000.0
Compte
Epargnecode=2Solde=56300.0taux=6.0
Compte
Epargnecode=2Solde=59677.996taux=6.0
Compte
Payantcode=3Solde=1995.0
Code sans commentaire?
RépondreSupprimer