public abstract class Account { //abstract class //perent class
protected int accountNumber;
protected Customer customerObj;
protected double balance;
//constructor
public Account(int saccountNumber, Customer scustomerObj,double sbalance){
accountNumber = saccountNumber;
customerObj = scustomerObj;
balance = sbalance;
}
// abstract Function
public abstract boolean withdraw(double amount);
}
public class SavingsAccount extends Account { // child class
private double minimumBalance;
// constructor
public SavingsAccount(int saccountNumber, Customer scustomerObj, double sbalance, double sminimumBalance) {
super(saccountNumber, scustomerObj, sbalance);
minimumBalance = sminimumBalance;
}
// Implementation of abstract function in child class
public boolean withdraw(double amount) {
if (balance() > minimumBalance && balance() - amount > minimumBalance) {
super.setBalance(balance() - amount);
return true;
} else {
return false;
}
}
}