Programmation Java 1A - TP16
Comptes en banque ; Banque (suite)


Reprenez les classes du TP 15. Copiez Compte.java et Banque.java dans votre dossier tp16.
L'objectif de ce TP est de permettre à votre banque de gérer des comptes avec découvert.

La primitive erreur("description de l'errreur") utilisée en cours d'Algorithmique correspond aux exceptions en Java. Le mécanisme des exception est complexe, et sera étudié en deuxième année de DUT. Pour l'instant, nous nous contenterons d'utiliser (sans plus l'expliquer) l'instruction suivante :
     throw new RuntimeException("description de l'erreur");
Lorsqu'une telle instruction est exécutée dans un programme, cela interromp l'exécution de la machine virtuelle avec affichage du message d'erreur.

1. comptes avec découvert autorisé
Modifiez la classe Compte de manière à gérer un découvert maximum autorisé.
Il faudra en particulier créer les accesseurs lireDécouvertAutorisé et affecterDécouvertAutorisé.
Pensez à expliciter les invariants de classe dans les commentaires de la classe.
Assurez-vous que ces invariants de classe soient respectés (encapsulation des données + vérification des invariants de classe par l'ensemble des méthodes).

2. banque avec gestion des découverts

Les exceptions sont là pour prévenir une "mauvaise" utilisation de la classe Compte. Si un programmeur (utilisateur de la classe) essaie par exemple d'affecter un découvert autorisé négatif, le programme va "planter" plutôt que de se retrouver dans situation incohérente (affecter le découvert autorisé négatif serait incohérent ; ne pas l'affecter et continuer le programme comme si de rien n'était le serait aussi).
Votre classe Banque doit faire "bonne" utilisation de la classe Compte, c'est-à-dire ne jamais déclencher d'exception. Autrement dit : votre programme ne doit jamais "planter" !
Modifiez la classe Banque de manière à ne jamais déclencher d'exception. Chaque fois que nécessaire, il faut donc tester les valeurs entrées par l'utilisateur.
Ajoutez une opération permettant de modifier la valeur du découvert autorisé.

3. Génération automatique des numéros de comptes
Ecrivez une méthode permettant de générer automatiquement un nouveau numéro de compte unique.
Conseil : si les numéros de comptes sont des entiers, il suffira de chercher le plus grand numéro de compte présent dans la banque, puis d'ajouter 1.
Cette méthode doit-elle être publique, ou bien privée ?
Modifiez l'opération de création d'un nouveau compte en faisant appel à cette méthode.