/**
 * Driver class to demonstrate the BankAccount hierarchy of classes.
 *   @author Dave Reed
 *   @version 1/14/14
 */
public class BankDriver {

	public static void main(String[] args) {
		BankAccount acct1 = new BankAccount();
		acct1.deposit(100);
		acct1.withdraw(10);
		BankDriver.showAccount(acct1);

		SavingsAccount acct2 = new SavingsAccount(3.0);
		acct2.deposit(200);
		acct2.withdraw(20);
		acct2.addInterest();
		BankDriver.showAccount(acct2);

		CheckingAccount acct3 = new CheckingAccount();
		acct3.deposit(500);
		for (int i = 0; i < 5; i++) {
			acct3.withdraw(25);
		}
		acct3.deductFees();
		BankDriver.showAccount(acct3);
	}

	public static void showAccount(BankAccount acct) {
	    System.out.println("Account " + acct.getAccountNumber() + ": $" + 
	                       acct.getBalance());
	}
}
