Question: Problem 2 [20pt] Consider the following Java code: public class BankAccount { public double balance; public BankAccount () ( balance = 0.0; } public
Problem 2 [20pt] Consider the following Java code: public class BankAccount { public double balance; public BankAccount () ( balance = 0.0; } public void withdraw (double amount) { balance -= amount; public void deposit (double amount) { balance += amount; } Since this is a checking account, you are required to enforce an invariant that the balance is never negative. With this invariant in mind, a) (5pt) Explain why the given code is a bad design for the abstract data type BankAccount. b) (15pt) Write down a better implementation for BankAccount in Java (or your favorite 00 language). For each method in your implementation, clearly specify precondition, postcondition and side effects in comments, as we did in Lecture 31.
Step by Step Solution
3.42 Rating (158 Votes )
There are 3 Steps involved in it
The given de is bd design fr the bstrt dt tye Bnkunt beuse fr the methd withdrw ... View full answer
Get step-by-step solutions from verified subject matter experts
