Exercice d'introduction à là POO
Durée
Pour cet exercice vous disposez de 2 séances. Bon travail.
Buts
Dans cette série d’exercice vous allez travailler les bases de la programmation orientée objets.
Vos programmes seront modularisés sous forme de classes comprenant des attributs et des
méthodes. Pensez à utiliser le mot-clé private pour encapsuler vos variables et méthodes qui
ne sont pas utilisés à l’extérieur de la classe. N’oubliez pas de créer des getter/setter, et
redéfinissez au besoin les méthodes toString() et equals(). Référez-vous aux
transparents si nécessaire.
Essayez de retranscrire la donnée du problème en objets, puis d’identifier leurs attributs et
méthodes. C’est ce que l’on appelle la phase de conception. Rappelez-vous qu’un objet peut
être concret (ex : un client) ou abstrait (ex : un compte bancaire). Enfin gardez à l’esprit qu’il n’y
a pas de solution unique pour modéliser un problème.
Enoncé
La banque Picsou vous demande de développer une application qui affiche pour l’ensemble de
ces clients, l’état de leur compte avant et après la clôture annuelle.
Dans le contexte de notre application, un client possède un nom, un prénom, une adresse ainsi
qu’un compte. Un compte quant à lui doit pouvoir être identifié de manière unique grâce à un
numéro. Il est détenu par un propriétaire (client), et a un taux d’intérêt fixe, décidé lors de
l’ouverture du compte. La banque applique un taux d’intérêt unique pour tous les clients,
définissez une valeur arbitraire pour ce taux.
Aussi étrange soit-il, mais afin de ne pas trop compliquer les choses, la seule action possible sur
un compte est sa clôture, on ne peut ni le créditer ni le débiter. Le solde d’un compte après sa
clôture est égal à, son solde avant clôture fois le taux d’intérêt associé.
Squelette de l’application
Pour ceux qui ont quelques difficultés à démarrer, le squelette de l’application vous est fourni. Il
n’est pas nécessaire de créer de nouvelles classes, il suffit de les compléter (à l’endroit indiqué).
Pour importer les codes sources dans Eclipse, suivez le document « Importer un projet dans
Eclipse ». Pour ceux qui se sentent plus à l’aise, vous pouvez démarrer de zéro (from scratch), la
section « Aides » vous donnera (au besoin) de précieuses informations.
1
Aides
Voici quelques informations qui pourraient vous être utiles.
1. Les classes de l’application sont : Client, Compte, Banque et Adresse.
2. Un client possède une adresse et un compte. Il y a donc une relation de composition
entre Client et Adresse, ainsi qu’entre Client et Compte.
3. Une banque a des clients, il y a donc aussi une relation de composition entre Banque et
Client. Stockez les clients de la banque dans un tableau.
4. Utilisez une variable static pour attribuer des numéros uniques aux comptes (voir
l’exemple des slides)
5. Pensez à redéfinir les méthodes toString() de toutes les classes et utilisez les !
6. Il peut être utile de savoir si un client est déjà enregistré auprès de la banque. Pour cela,
redéfinissez la méthode equals() de la classe Client.
7. En général les banques fixent le taux d’intérêt d’un compte de manière permanente,
pensez à utiliser une variable static final pour cela.
Exemple de sortie du programme
Ci-dessous un exemple qui montre à quoi pourrait ressembler votre programme. On y voit pour 3
clients, l’état de leur compte avant et après la clôture annuelle.
======================================= =======================================
==== Avant bouclement des comptes === ==== Apres bouclement des comptes ===
======================================= =======================================
Alain Terieur Alain Terieur
Ch. des Noisetiers 11 Ch. des Noisetiers 11
1004 Lausanne 1004 Lausanne
Suisse Suisse
--------------------------------------- ---------------------------------------
Numero de compte : 1 Numero de compte : 1
Solde : 1000.0 Solde : 1100.0
Taux d'interet : 0.1 Taux d'interet : 0.1
*************************************** ***************************************
Vishnou Lapaix Vishnou Lapaix
Bv. de la Madeleine 272 Bv. de la Madeleine 272
34000 Montpelier 34000 Montpelier
France France
--------------------------------------- ---------------------------------------
Numero de compte : 2 Numero de compte : 2
Solde : 3000.0 Solde : 3300.0
Taux d'interet : 0.1 Taux d'interet : 0.1
*************************************** ***************************************
Sarah Fréchit Sarah Fréchit
Bv. de la Marina 8 Bv. de la Marina 8
8112 Cotonou 8112 Cotonou
Bénin Bénin
--------------------------------------- ---------------------------------------
Numero de compte : 3 Numero de compte : 3
Solde : 5000.0 Solde : 5500.0
Taux d'interet : 0.1 Taux d'interet : 0.1
*************************************** ***************************************
2
Optionnel (à faire à la maison…)
Satisfait du travail que vous avez précédemment effectué, la banque Picsou vous confie un
second mandat. Elle voudrait pouvoir gérer 2 types de compte bancaire : un compte épargne et un
compte courant. Il va de soi que le taux d’intérêt de ces 2 types de compte sont différents. De
même, elle veut maintenant qu’un client puisse posséder plusieurs comptes.
Adaptez votre solution précédente pour répondre aux nouvelles exigences de la banque Picsou.