Programmation Java 1A - TP15
Comptes en banque ; Banque


Reprenez la classe Compte du TP 14. Copiez Compte.java dans votre dossier tp15.

L'objectif de ce TP est d'écrire la classe Banque, qui permet de gérer une liste de comptes en banque.
La classe Banque utilisera la classe Compte.

1. Classe Banque

Ecrivez la classe Banque (vous obtiendrez donc deux fichiers java dans votre répertoire : Compte.java et Banque.java. Vous pourrez compiler d'un coup l'ensemble en tapant javac *.java).
Une banque est un objet qui contient une liste de comptes (la classe Banque possède donc un attribut privé de type ArrayList <Compte>)

Les opérations publiques sur une Banque sont :
Vous devrez écrire les méthodes (non static) permettant de réaliser ces opérations.

Attention : ces méthodes n'effectuent aucune saisie. Lorsqu'une méthode a besoin d'informations (par exemple, la méthode permettant de créditer un compte a besoin du numéro de compte et du montant à créditer), elle reçoit ces informations en paramètre.

Pour l'instant, lorsqu'un nouveau compte est créé, le numéro de compte sera reçu en paramètre (Dans le main, le numéro de compte sera donc entré par l'utilisateur. Lorsque vous ferez des tests, il faudra veiller à ce que les numéros de comtes saisis soient uniques). Nous verrons plus tard comment générer automatiquement des numéros de compte uniques.

N'oubliez pas d'écrire aussi le constructeur de la classe Banque.
Rappel : le rôle du constructeur est d'initialiser les attributs de la classe. Ici, le constructeur devra donc créer l'ArrayList.

Vous écrirez un main dans lequel est déclarée et créée une variable de type Banque.
Ce main affiche et fait fonctionner un menu permettant de choisir et d'effectuer les opérations listées ci-dessus.
Remarque : toutes les saisies doivent avoir lieu dans le main (par exemple, avant de créditer un compte en appelant la méthode non static correspondante, la saisie du numéro de compte et du montant à créditer ont lieu dans le main).

2. Méthodes publiques, méthodes privées
Plusieurs opérations nécessitent de récupérer un compte (un objet de type Compte) à partir de son numéro.
Plutôt que de dupliquer ce morceau de code dans plusieurs méthodes, il est préférable d'en faire un méthode (une fonction qui prend en paramètre un numéro de compte et retourne un type Compte). Cette méthode sera alors déclarée privée (private, en Java) car elle est destinée à être appelée par d'autres méthodes de la même classe, alors qu'un utilisateur de la classe Banque n'a aucune raison de l'appeler.

Ecrivez la méthode privée chercherCompte (int numéro). Cette méthode retourne un objet de type Compte (c'est-à-dire une adresse car en Java les objets sont obligatoirement manipulés par l'intermédiaire d'une adresse).
Modifiez les autres méthodes pour faire appel à chercherCompte.