#8 Dans Operation, utilisation un véritable type "date" à la place d’entiers
Operation
Modification dans Dans la version actuelle, la classe abstraite Operation
gère le type date avec un int, qui stocke une date en milliseconde, ce qui rend compliqué à lire.
Comme il existe un type adapté au sein du paquetage java.time
, nous avons choisi de représenter cette date par la classe LocalDateTime, qui est la plus complète car on pourra récupérer la date et l'heure locale.
De plus, par soucis de compréhension, l'attribut "time" sera renommé "dateTime".
On fera les même modifications dans DepositOperation
et WithdrawOperation
Account
Modification dans Ces modifications au sein d'Operation
et ses sous-classes implique de modifier la méthode withdraw(float) au sein d'Account
, car celle-ci fait appel au constructeur de WithdrawOperation
.
Celle-ci utilise System.currentTimeMillis() qui retourne une date en milliseconde en long (en faisant la différence entre l'heure actuelle du système et 01/01/1970 00:00 UTC), qu'elle convertit en int, ce qui peut poser des problèmes de précision.
Comme nous passons dorénavant par LocalDateTime, on utilisera sa fonction now() qui récupère et stocke directement la date et l'heure du système.