Question
PLEASE I NEED THIS IN 1 HOUR PLEASEEEE Part I: Composition, Inheritance, Polymorphism, Abstract Classes and Interfaces Question 1 [40 pts] Implement the below classes
PLEASE I NEED THIS IN 1 HOUR PLEASEEEE
Part I: Composition, Inheritance, Polymorphism, Abstract Classes and Interfaces
Question 1 [40 pts]
Implement the below classes and interface as presented in the following UML diagram except the class BasicSubscriber for which you will find the code provided below. For all classes implement only the getters that you will need later in your code.
Account |
# number: int # balance: double |
+Account(accNum: int, bal: double) +toString(): String +computeInterest(): double |
Checking |
+Checking(accNum:int, bal: double) +toString(): String +computeInterest(): double |
Customer |
-id: int -name: String -accounts: []Account -accountsCounter: int |
+Customer:(id: int,name: String) +addAccount(acc: Account): void +getAccounts(): []Account +toString(): String |
< Comparable |
+ compareTo(o: E): int |
Saving |
-rate: double -nbYear: int |
+Saving(accNum: int, bal: double, ra: double, nbYear: int) +toString(): String +computeInterest(): double +compareTo(o:E): int |
A. [6 pts] Write the abstract class Account as presented in the above UML.
a) Write the constructor take as parameter the account number. b) Write the abstract method computeInterest.
c) Write the toString( ) method returns the information about all data members. B. Do not implement the class Checking. The code is:
public class Checking extends Account {
public Checking(int accNum, double bal) { super(nbAccount, bal);
}
public String toString(){
return "Checking Account: " + super.toString(); }
public double computeInterest(){
return 0;
}
}
C. [14 pts] Implement the class Saving.
The data fields are rate representing the interest rate and nbyear representing the number of years.
a) A constructor that initializes the rate and the year number. The rate and the nbYears must be positive. b) Write the toString() method which returns the Saving account information
c) Implement the computeInterest method based on the following formula:
interest = balance * rate* nb of years.
d) Implement the compareTo method of the Comparable interface. A Saving account is compared to another Saving account by comparing the rate.
D. [20 pts] Implement the class Customer.
Each customer has an id, a name, an array of accounts, and a counter of accounts.
a) Constructor: initializes the customer information (id, name) and creates an empty array of accounts of size 10.
b) addAccount(acc: Account): this method add an account to the array of customer accounts. c) getAccounts(): this method returns the array of accounts.
d) Write the toString() method which returns all information of the customer.
Question 2 [20 points]
Implement the driver class (application) as follows:
a) Create a customer with id 3 and name Sami. Write code to add for the customer two saving and two checking accounts.
b) Write code to display the interest for each of the saving accounts of the customer. c) Write code to compare the two saving accounts to display a message showing whether they are equal or one of them is smaller than the other one.
d) Write code to display the information of all accounts.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started