Account.java 904B

123456789101112131415161718192021222324252627282930313233343536
  1. package com.zipcodewilmington.bankaccountlab;
  2. public abstract class Account implements TransactionLimit {
  3. double balance;
  4. InputOutput display;
  5. public Account(double balance) {
  6. display = new InputOutput();
  7. this.balance = balance;
  8. }
  9. public double getBalance() {
  10. return balance;
  11. }
  12. public void setBalance(double balance) {
  13. this.balance = balance;
  14. }
  15. public void withdraw(double amount) {
  16. balance -= amount;
  17. display.successfulWithdrawal(amount, getBalance());
  18. }
  19. public void transfer(Account recipient, double deposit) {
  20. withdraw(deposit);
  21. recipient.setBalance(recipient.getBalance() + deposit);
  22. display.successfulTransfer(recipient, deposit);
  23. }
  24. public void deposit(double deposit) {
  25. setBalance(getBalance() + deposit);
  26. display.successfulDeposit(deposit);
  27. }
  28. }