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

 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 BankAccount 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 ee is 50 cents, and this can be changed later on. Test your class and check that the ee 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 deductMonthlyCharge 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 TestBank 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!