Vous êtes sur la page 1sur 2

TP2

Matière : Programmation Orientée Objet Niveau : 2IM


Objet : Travaux Pratiques N°2 Durée : 1h30
Année universitaire : 2011/2012

Partie 1 : classes, accesseurs, mutateurs, instances et saisie au clavier


Un CompteBancaire est caractérisé par les données privées suivantes:
- Numéro du compte (entier);
- Nom et prénom du client (chaîne de caractères);
- Solde (réel double);
- tracesCompte : un tableau de 100 entrées (de type double), qui servira pour la sauvegarde
de la trace des opérations effectuées sur le compte ;
- nbTraces : le nombre d’opérations effectuées sur ce compte. C’est aussi le nombre de
cases remplies dans le tableau tracesCompte ;
- nbComptes : un entier statique et publique qui représente le nombre total de comptes
instanciés.

Cette classe contient les méthodes publiques suivantes :


- Un constructeur non paramétré qui :
o instancie tracesCompte à 100 cases
o et augmente le nombre total de comptes;
- Un constructeur paramétré qui :
o prend comme paramètres : le numéro, le nom, le prénom et le solde
o instancie tracesCompte à 100 cases
o et augmente le nombre total de comptes ;
- Tous les accesseurs nécessaires ;
- Tous les mutateurs nécessaires (ne pas mettre un mutateur pour le tableau tracesCompte);
- verserArgent (double mont) : permettant d'augmenter le solde par le montant positif mont.
La nouvelle valeur du solde sera par conséquent ajoutée à la trace du compte.
- description : cette méthode retourne ne chaine de caractère qui décrit l’instance courante.
Afin de pouvoir manipuler cette classe, nous suggérons d'ajouter la classe publique
GestionComptes qui s'articule autour de la fonction main() permettant de :
- Construire un compte bancaire
- Exécuter des opérations de versement sur le compte : les montants versés doivent être
introduits au clavier

2011/2012 1
TP2

- Afficher le nouvel état du compte ainsi que le nombre total des comptes
- Faire de même pour un 2ème compte.

Partie 2 : Héritage, redéfinition

Pour étendre les fonctionnalités de cette classe, nous proposons de créer deux nouvelles classes
CompteEpargne et CompteCourant.
La classe CompteEpargne, reprend toutes les propriétés et les méthodes de la classe
CompteBancaire, et ajoute :
- Le taux d'intérêt annuel (réel privé), son accesseur et son mutateur
- Le constructeur de la classe
- calculBénéfices() : renvoie le montant des bénéfices du compte en question. Nous
limitons le calcul des ces bénéfices à la multiplication du taux d'intérêt et le solde.
- Redéfinition de la méthode toString()
En outre, un CompteCourant est un CompteBancaire qui a en plus :
- retirerArgent(double mont) : permet de diminuer le solde du compte par le montant passé
en paramètre. L'opération ne peut être prise en compte que lorsqu'elle n'aboutit pas à un
solde négatif.
- A-t-on besoin de redéfinir la méthode toString() dans cette classe ?

Pour tester le fonctionnement de ces classes, nous vous demandons d'ajouter les opérations
suivantes à la classe GestionComptes définie auparavant :
- Instancier un compte d’épargne :
o Faites des versements à ce compte
o Afficher les détails de ce compte y compris ses bénéfices
- Instancier un compte courant :
o Faites des versements et des retraits
o Afficher ses détails
- Afficher le nombre total de comptes
o L’entier statique nbComptes contient-il le nombre d’instances de
CompteBancaire uniquement ? ou bien inclut-il les instances des classes filles ?

2011/2012 2

Vous aimerez peut-être aussi