Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

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

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_step_2

Step: 3

blur-text-image_step3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions