0% found this document useful (0 votes)
66 views

Assignment 2

1. Create a FacultyCourse class with fields for department, courseId, credits, fee, CHARGE, numberOfCourses, and profitRate. The constructor initializes these fields, calculating fee as credits * CHARGE. Methods include getters/setters and display(). 2. Create a TheoryCourse subclass that overrides the parent's display() and getProfit() methods. Its constructor adds $30 to the fee and its profitRate is 0.4. 3. Create a LabCourse subclass similarly, but its constructor adds $50 to the fee and its profitRate is 0.2. 4. Create a UseCourse driver class with a Courses array. The constructor prompts the user to create

Uploaded by

Mo Sa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
66 views

Assignment 2

1. Create a FacultyCourse class with fields for department, courseId, credits, fee, CHARGE, numberOfCourses, and profitRate. The constructor initializes these fields, calculating fee as credits * CHARGE. Methods include getters/setters and display(). 2. Create a TheoryCourse subclass that overrides the parent's display() and getProfit() methods. Its constructor adds $30 to the fee and its profitRate is 0.4. 3. Create a LabCourse subclass similarly, but its constructor adds $50 to the fee and its profitRate is 0.2. 4. Create a UseCourse driver class with a Courses array. The constructor prompts the user to create

Uploaded by

Mo Sa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Assignment 2: This assignment focusses on inheritance topic and related issues

Consider the following Class Hierarchy

1. Create a class named FacultyCourse

Data fields:
• department (for example, ENG),
• courseId (for example, CSCI1306),
• credits (for example, 3)
• fee computed at per credits
• CHARGE: constant value (e.g., $ 120) for all courses
• numberOfCourses: holds the number of created courses
• profitRate data field (constant float value less than 1 greater
than zero (0-1)) .
Methods :
• constructor ():
All of the fields are required as arguments to the
constructor, except for the fee, which is computed at
fee = credits * charge
e.g., fee = 3 * $120 = $360).
• The necessary set and get methods
• display () method that displays the course data.
2. Create a subclass named TheoryCourse that has
Data fields
• profitRate for theory course is 0.4;
Methods:
• constructor ():
adds $30 to the course fee.
• Override the parent class display () method to indicate that the
course is a theory course and to display all the data.
• Override the parent class getProfit (): show why?
• The necessary set and get methods

3. Create a subclass named LabCourse that

Data fields:
• profitRate for Lab course is 0.2;

Methods:
• adds $50 to the course fee.
• Override the parent class display () method to indicate that the
course is a lab course and to display all the data.
• Override the parent class getProfit (): show why?
• The necessary set and get methods

4. Create a Driver class UseCourse


Write an application named UseCourse and do the following

Data fields:
• Courses: an array of courses:

Methods:
Constructor:
• Initialize the array of courses with capacity = 10 ;
• Creates an array of three TheoryCourse and four LabCourse
• prompts the user for the course type
If the user enters "Theory" as a course type
o TheoryCourse is created
o prompts the user for the course information:
✓ department: any of the following (BIO, CIS, PHY)
✓ course id,
✓ credits
If the user enters "Lab" as course type
o LabCourse is created
o prompts the user for the course information:
✓ department: any of the following (BIO,CIS, PHY)
✓ course id,
✓ credits
PrintOutReport:
write a method PrintOutReport to display the following
o number of Created Courses.
o Total profit, computed as in the following
Totalprofit = totalProfit = ∑𝑛𝑘=0 courseProfit 𝑘
courseProfit= profitRate * courseFee.
Main method:
Call the constructor of the driver class
call printOutReporty

Then Save the files as FacultyCourse.java, TheoryCourse.java


LabCourse.java, and UseCourse.java.

You might also like