Java Reference
In-Depth Information
Consider the following five classes: Bank , Account , NonInterestChecking-
Account , InterestCheckingAccount , and PlatinumCheckingAccount , as well as
an interface called InterestBearingAccount which interact as follows:
4.53
A Bank stores an ArrayList that can contain accounts of all types,
including savings and checking accounts, some of which are
interest bearing and some of which are not. Bank contains a
method called totalAssets that returns the sum of all the balances
in all the accounts. It also contains a method called addInterest
that invokes the addInterest method for all the accounts in the
bank that are interest-bearing.
n
n
Account is an abstract class. Each account stores the name of the
account holder, an account number (sequentially assigned auto-
matically), and the current balance, along with an appropriate
constructor to initialize these data members, and methods to
access the current balance, add to the current balance, and subtract
from the current balance. NOTE: All these methods are implemented
in the Account class, so even though Account is abstract, none of the
methods that you are implementing in this class are abstract.
n
The InterestBearingAccount interface declares a single method
addInterest (no parameters, void return type) that increases the bal-
ance by the interest rate that is appropriate for the particular account.
An InterestCheckingAccount is an Account that is also an
InterestBearingAccount . Invoking addInterest increases the
balance by 3%.
n
n
A PlatinumCheckingAccount is an InterestCheckingAccount . Invoking
addInterest increases the balance by double the rate for an Inter-
estCheckingAccount (whatever that rate happens to be).
A NonInterestCheckingAccount is an Account but it is not an
InterestBearingAccount . It has no additional functionality beyond
the basic Account class.
n
For this question, do the following. You do not have to provide any func-
tionality beyond the specifications above:
a.
Five of the six classes above form an inheritance hierarchy. For
those five classes, draw the hierarchy.
b.
Implement Account .
c.
Implement NonInterestCheckingAccount .
d.
Write the InterestBearingAccount interface.
e.
Implement Bank .
f.
Implement InterestCheckingAccount .
g.
Implement PlatinumCheckingAccount .
 
Search WWH ::




Custom Search