Discuss the concepts of inheritance and polymorphism.

This assignment consists of two (2) sections:

  • A Java program file
  • A screenshot of the driver testing and source code of the implementation

Label each file name according to the section of the assignment for which it is written. Put both sections together in a single zip file, and submit the file.

It is a common knowledge that most households, for protection against their major perils, take out insurance on their property, automobiles, travel, and so on. Insurance premiums are often paid on a monthly basis. In this assignment, you will build an interactive Java application that will help an insurance agent generate a quote for a household. Assume that the household wants to purchase property insurance, automobile insurance, and travel insurance. The Java application must generate a quote when the agent runs the application.

The application must contain four (4) Java classes that are stated and shown in the diagram below.

 

The InsuranceAgent App class is an abstract class. The PropertyInsurance, AutomobileInsurance, and TravelInsurance classes inherit from the InsuranceAgentApp abstract class.

The specifications of each class are described below. The column on the left shows the class members and the column on the right provides a description of the class members. The ‘S‘ designates a static member; the ‘C‘ designates a constructor; and the ‘A‘ designates an abstract member. The data types of each class member are shown on the left column.

Class Members and Their Properties Member’s Description
·         type is the type of insurance (e.g. “Property”).

·         Name is the name of the insured object (e.g. “Home”);  totalPremium is the static quote for all the insurances taken by the household.

·         InsuranceAgentApp(String) is the constructor that takes the type value.

·         three get methods for the three variables.

·         InsuranceAgentApp() is the empty constructor; setInsuredObjectName(), setRiskAmount(), and display() are abstract methods.

·         riskAmount is the value of the Property being insured.

·         the static RATE is the % used to calculates the annual premium.

·         The constructor PropertyInsurance(String) takes a string which indicates the insurance type (e.g. “Property”).

·         the three get methods return values of the three variables.

·         setInsuredObjectName(), setRiskAmount(), and display() are implementations of the abstract methods.

·         riskAmount is the value of the Automobile being insured.

·         the static RATE is the % used to calculates the annual premium.

·         The constructor AutomobileInsurance(String) takes a string which indicates the insurance type (e.g. “Automobile”).

·         the three get methods return values of the three variables.

·         setInsuredObjectName(), setRiskAmount(), and display() are implementations of the abstract methods.

·         riskAmount is the value of the flight being insured; the static RATE is the % used to calculates the annual premium.

·         The constructor TravelInsurance(String) takes a string which indicates the insurance type (e.g. “Travel”).

·         the three get methods return values of the three variables.

·         setInsuredObjectName(), setRiskAmount(), and display() are implementations of the abstract methods.

The RATEs used to calculate the premiums are:

PropertyInsurance AutomobileInsurance TravelInsurance
0.25% 0.75% 0.73%

Section 1: Java Program File

Create an interactive Java application for the insurance agent in order to generate a quote for a household. According to your design, the program must:

  • Implement all the four (4) Java classes described with the correct inheritance of abstract classes.
  • Calculate the premium and multiply the value of the object being insured by the corresponding RATE. Note: See the RATE tables above.
  • Get a quote and add all the premiums for all the objects being insured.
  • Include a driver problem to test the implementation in which it:

– Uses the System.out.* and System.in.* methods for all the input / output.

– Includes an object of each insurance type. Prompts the user to enter the type and riskAmount (or value of the object being insured).

– Displays the values in each of the objects created using the display() method.

– Displays the quote (totalPremium in the abstract InsuranceAgentApp class).

Section 2: Screenshot of the Driver Testing and Source Code of the Implementation

Create a screenshot of the driver testing and include a copy of source code of the implementation.

  • Submit a screenshot of the driver testing of the implementation of your Java program. Note: Click here if you need a tutorial on taking a screenshot.
  • Submit a copy of the source code of the implementation.

Section 1 and Section 2 will be graded based on the following:

  1. The program must compile, execute, produce correct results, and meet all of the specifications stated in Section 1.  Additionally, you must:
  2. Organize the code for user readability.
  3. Organize the code for reusability.
  4. Organize the code for efficiency.
  5. Provide documentation with embedded comments for reader understanding.

The specific course learning outcomes associated with this assignment are:

  • Discuss the concepts of inheritance and polymorphism.
  • Compare and contrast abstract and concrete data types.
  • Apply the Java concepts of file input / output.
  • Use technology and information resources to research issues in Java programing.
Type of paper Academic level Subject area
Number of pages Paper urgency Cost per page:
 Total:

Last Completed Projects

# topic title discipline academic level pages delivered
6
Writer's choice
Business
University
2
1 hour 32 min
7
Wise Approach to
Philosophy
College
2
2 hours 19 min
8
1980's and 1990
History
College
3
2 hours 20 min
9
pick the best topic
Finance
School
2
2 hours 27 min
10
finance for leisure
Finance
University
12
2 hours 36 min