package oving6; public abstract class AbstractAccount { private ArrayList transactions; public AbstractAccount() { this.transactions = new ArrayList(); } private void addTransaction(Transaction t) { this.transactions.add(t); } public void addTransaction(int amount, String type) { this.addTransaction(new Transaction(amount, type)); } public int getTransactionCount() { return this.transactions.size(); } public Transaction getTransaction(int index) { return this.transactions.get(index); } public int getBalance() { int balance = 0; for (int i=0;i < transactions.size();i++) { balance+=transactions.get(i).getAmount(); } return balance; } public String getAccountName() { return getAccountType() + " no " + this.accountNumber; } public abstract String getAccountType(); public abstract int deposit(int amount); public abstract int withdraw(int amount); }