0% found this document useful (0 votes)
565 views2 pages

Java Exercises 2 - Inheritance

The document provides examples and exercises for working with inheritance between BankAccount subclasses in Java. It introduces subclasses for DepositAccount and CurrentAccount that extend the BankAccount superclass. Methods like withdraw(), deposit(), and display() are overridden as needed to provide subclass-specific functionality, like checking balances or transaction limits before withdrawals. Later examples create objects of each account type and modify methods to increment transaction counters and calculate fees on certain transactions.

Uploaded by

hamvuidn
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
Download as doc, pdf, or txt
0% found this document useful (0 votes)
565 views2 pages

Java Exercises 2 - Inheritance

The document provides examples and exercises for working with inheritance between BankAccount subclasses in Java. It introduces subclasses for DepositAccount and CurrentAccount that extend the BankAccount superclass. Methods like withdraw(), deposit(), and display() are overridden as needed to provide subclass-specific functionality, like checking balances or transaction limits before withdrawals. Later examples create objects of each account type and modify methods to increment transaction counters and calculate fees on certain transactions.

Uploaded by

hamvuidn
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1/ 2

Java Exercises 2 - Inheritance with Bank accounts

Ex1 Add a method called withdraw( long amount) to the BankAcc class to make a withdrawal. It should be something like:
public void withdraw( long amount) { balance = balance amount; }

Modify main() to try it out by adding:


b2.withdraw( 500);

Rerun the program BankAcc.java. Does the correct balance come out? Ex2 Compile and run the program DepositAcc.java. Override the display( ) method in class DepositAcc it only displays a message like: Account type is Deposit with the statement:
System.out.println( Account type is Deposit);

Rerun the program. Which display() method is invoked on acc, the BankAcc one or the DepositAcc one? Ex3 The display() method from DepositAcc is not as useful as the one of its superclass or parent class. We can get it the first call display() from BankAcc by adding the following line at its beginning:
super.display();

Rerun DepositAcc.java with this addition. Ex4 Override the withdraw() method in class DepositAcc so that it first checks to see if the amount to be withdrawn is less than or equal to the balance. If it is, then it calls the withdraw() method of its parent class, otherwise it generates an error message. Modify main() to try this out. Ex5 Create a subclass of BankAcc called CurrentAcc which will represent a current account. It will need 3 extra attributes: withdrawal limit, interest rate charged on overdrafts, number of transactions. Each time a transaction is made, the number of transactions should be increased by 1. Write/override methods in CurrentAcc so that when a withdrawal or deposit is made, the transaction counter is incremented. so that the display method displays the account type. to subtract the interest due from the balance with the number of months as a parameter. to withdraw money from the account, this should generate an error message if the overdraft limit is about to be exceeded. to calculate the account fees owed and subtract them from the balance. The fee is 25p per transaction. Ex6 Write a program called BankApplic.java which uses the above mentioned classes. Get it to create 3 variables of type BankAcc. Assign a BankAcc object, a DepositAcc object and a CurrentAcc object to these variables. Ex7 Create a subclass of DepositAcc called DepositAcc2. Add an extra attribute to count the number of transactions so that on each transaction the count is incremented by 1. You will need to override the deposit() and withdraw() methods to do this. Modify them again so that on the fifth transaction, the account fee is calculated at 25p per transaction if the balance is less than 100 or at 0p otherwise. The fee should be subtracted from the balance during the transaction.

You might also like