Question: Problem 5. (9 points) Goal: Practice how to create user-defined classes in Java. Enhance the Bank Account class and see how abstraction and encapsulation enable

 Problem 5. (9 points) Goal: Practice how to create user-defined classes

Problem 5. (9 points) Goal: Practice how to create user-defined classes in Java. Enhance the Bank Account class and see how abstraction and encapsulation enable evolutionary changes to software: Begin with a simple enhancement: charging a fee for every deposit and withdrawal. Supply a mechanism for setting the fee and modify the deposit and withdraw methods so that the fee is levied. The initial transaction fee is 50 cents, and this can be changed later on. Test your class and check that the fee is computed correctly. Now make a more complex change. The bank will allow a fixed number of free transactions (deposits and withdrawals) every month, and charge for transactions exceeding the free allotment. The charge is not levied immediately but at the end of the month. The initial value for the number of free transactions is 10 Supply a new method deduct. Monthlycharge to the BankAccount class that deducts the monthly charge and resets the transaction count. (Hint: Use Math.max(actual transaction count, free transaction count) in your computation.) Write a tester Java program that verifies that the fees are calculated correctly over several months. Java file names: Bank Account.java and Test Bank Account.java

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!