Как использовать метод transferTo () для перевода денег между счетами? - PullRequest
0 голосов
/ 10 июля 2020

Я должен добавить следующий метод, чтобы позволить BankAccounts переводить деньги на другой BankAccount. Куда мне добавить этот метод, чтобы убедиться, что он работает для всех BankAccounts, включая SavingsAccount и CheckingAccount?

Я должен использовать метод transferTo (BankAccount destinationAccount, int transferAmount)

public class BankAccount {


private String accountHolderName;
private String accountNumber;
private int balance;

public BankAccount(String accountHolder, String accountNumber) {
    this.accountHolderName = accountHolder;
    this.accountNumber = accountNumber;
    this.balance = 0;
}

public BankAccount(String accountHolder, String accountNumber, int balance) {
    this.accountHolderName = accountHolder;
    this.accountNumber = accountNumber;
    this.balance = balance;
}

public String getAccountHolderName() {
    return accountHolderName;
}

public String getAccountNumber() {
    return accountNumber;
}

public int getBalance() {
    return balance;
}

// Update the balance by using the DollarAmount.Plus method
public int deposit(int amountToDeposit) {
    balance = balance + amountToDeposit;
    return balance;
}

// Update the balance by using the DollarAmount.Minus method
public int withdraw(int amountToWithdraw) {
    balance = balance - amountToWithdraw;
    return balance;
}

public int transferTo(BankAccount destinationAccount, int transferAmount) {

    return balance;

}

}

1 Ответ

0 голосов
/ 10 июля 2020

Допущения:

  1. Это всего лишь упражнение, а не реальное приложение для банка.
  2. SavingsAccount и CheckingAccount являются подклассами BankAccount

Метод transferTo может быть реализован следующим образом:

public int transferTo(BankAccount destinationAccount, int transferAmount) {
    this.balance -= transferAmount;
    destinationAccount.deposit(transferAmount);
    return balance;
}

В реальном приложении вам нужно убедиться, что эта операция всегда будет atomi c и потокобезопасной. Кроме того, настоятельно не рекомендуется использовать int для весов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...