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