( The Account class ) Design a class named Account that contains: A private int
ID: 638138 • Letter: #
Question
(The Account class) Design a class named Account that contains:
A private int data field named id for the account.
A private float data field named balance for the account.
A private float data field named annualInterestRate that stores the current
interest rate.
A constructor that creates an account with the specified id (default 0), initial
balance (default 100), and annual interest rate (default 0).
The accessor and mutator methods for id, balance, and annualInterestRate.
A method named getMonthlyInterestRate() that returns the monthly
interest rate.
A method named getMonthlyInterest() that returns the monthly interest.
A method named withdraw that withdraws a specified amount from the
account.
A method named deposit that deposits a specified amount to the account.
Draw the UML diagram for the class, and then implement the class. (Hint: The method getMonthlyInterest() is to return the monthly interest amount, not the interest rate. Use this formula to calculate the monthly interest: balance * monthlyInterestRate. monthlyInterestRate is annualInterestRate / 12. Note that annualInterestRate is a percent (like 4.5%). You need to divide it by 100.)
Write a test program that creates an Account object with an account id of 1122, a balance of $20,000, and an annual interest rate of 4.5%. Use the withdraw method to withdraw $2,500, use the deposit method to deposit $3,000, and print the id, balance, monthly interest rate, and monthly interest.
Current code is:
class Account:
def __init__(self, id = 0, balance = 100, annualInterestRate = 0):
self.__id = id
self.__balance = 0
self__annualInterestRate = 0
def getId(self):
return self.__id
def getBalance(self):
return self. __balance
def getAnnualInterestRate(self):
return self.__annualInterestRate
def setId(self):
return self.__id = id
def setBalance(self):
return self.__balance = balance
def setAnnualInterestRate(self):
return self.__annualInterestRate = rate
def getMonthlyInterestRate(self):
return self.__annualInterestRate / 12
def getMonthlyInterest(self):
return self.__balance * self.getMonthlyInterestRate()
Not sure how to create the deposit and withdraw functions and a main to utilize it
Explanation / Answer
## Online URL for Testing : http://ideone.com/E55ZnH
class Account:
def __init__(self, id = 0, balance = 100, annualInterestRate = 0):
self.__id = id
self.__balance = balance
self.__annualInterestRate = annualInterestRate
def getId(self):
return self.__id
def getBalance(self):
return self. __balance
def getAnnualInterestRate(self):
return self.__annualInterestRate
def setId(self,id):
self.__id = id
def setBalance(self,balance):
self.__balance = balance
def setAnnualInterestRate(self,rate):
self.__annualInterestRate = rate
def getMonthlyInterestRate(self):
return self.__annualInterestRate / 12
def getMonthlyInterest(self):
return self.__balance * self.getMonthlyInterestRate()/100
def deposit(self,amount):
print ('Deposited %s to Account ID = %s' % (amount,self.getId()))
self.__balance=self.__balance+amount
def withdraw(self,amount):
print ('Withdrawan %s from Account ID = %s' % (amount,self.getId()))
self.__balance=self.__balance-amount
def __str__(self):
return 'id=%s, balance=%s, monthly interest rate=%s, monthly interest=%s' % (self.getId(),self.getBalance(),self.getMonthlyInterestRate(),self.getMonthlyInterest())
a=Account(1122,20000,4.5)
print(a)
a.deposit(2500)
print(a)
a.withdraw(3000)
print(a)
Output:
>>>
id=1122, balance=20000, monthly interest rate=0.375, monthly interest=75.0
Deposited 2500 to Account ID = 1122
id=1122, balance=22500, monthly interest rate=0.375, monthly interest=84.375
Withdrawan 3000 from Account ID = 1122
id=1122, balance=19500, monthly interest rate=0.375, monthly interest=73.125
>>>
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.