import java.applet.*; import java.awt.*; import java.awt.event.*; public class Bank extends Applet { private TextArea display1 = new TextArea(4, 25); private TextArea display2 = new TextArea(4, 25); private Regular account1 = new Regular(); private Gold account2 = new Gold(); public void init(){ add(display1); add(display2); account1.open(-200, "Poor Person"); account2.open(10000, "Bill Gates"); displayAccount(account1, display1); displayAccount(account2, display2); } public void displayAccount(Account account, TextArea display) { display.setText(account.getPerson() + "\n"); // polymorphism display.append(account.checkOverdrawn()+ "\n"); // polymorphism display.append("interest is " + account.calculateInterest()); // polymorphism } } class Account { int amount; private String person; public void open(int initialAmount, String person) { amount = initialAmount; this.person = person; } public String getPerson() { return person; } public int getAmount() { return amount; } public String checkOverdrawn() { return "no check"; } public int calculateInterest() { return 0; } } class Regular extends Account { public String checkOverdrawn() { if (amount < 0) return "account is overdrawn"; else return "overdraft is OK"; } public int calculateInterest() { return (amount * 5 / 100); } } class Gold extends Account { public String checkOverdrawn() { return "account is never overdrawn"; } public int calculateInterest() { return (amount * 6 / 100) - 100; } }