Challenge: Abstract Pattern

In this challenge, you have to implement the abstract pattern to solve the given problem.

Problem statement

In this challenge, you have the abstract constructor function Loans. There are three types of loans that can be given:

  • HomeLoan

  • StudentLoan

  • PersonalLoan

You need to implement Loans such that it decides which loan instance to instantiate, given the input parameters. Implement a function getloan for this purpose. getloan should take the following parameters:

  • type: type of loan

  • amount: amount of the loan

  • duration: duration of the loan

All the three loans mentioned above have the following properties:

  • amount: the amount of loan required (in dollars)

  • duration: the duration of time (in years) for which the loan is borrowed

  • interest: the annual interest rate

The interest is different but fixed for all three loans:

  • The interest on HomeLoan is: 0.08

  • The interest on StudentLoan is: 0.03

  • The interest on PersonalLoan is: 0.05

Also defined for these loans is the calculateInterest method that calculates the simple interest on the amount borrowed for the given duration. Use the following formula to calculate the total interest:

TotalInterest=amountinterestdurationTotal Interest = amount * interest * duration

Level up your interview prep. Join Educative to access 80+ hands-on prep courses.