Print This Page;iLab 4 of 7: Composition and Class Interfaces;Connect to the iLab here.;Submit your assignment to the Dropbox located on the silver tab at the top of this page.;(See Syllabus ?Due Dates for Assignments & Exams? for due dates.);i L A B O V E R V I E W;Scenario and Summary;The objective of the lab is to modify the Employee class to demonstrate composition and a class interface. An employee typically has benefits, so we will make the following changes;1. Create a Benefits class.;2. Integrate the Benefit class into the Employee class.;3. Create an iEmployee abstract class to guarantee that calculatePay is implemented in the Employee class. A tutorial on interfaces can be downloaded here.;Deliverables;Due this week;? Capture the console output window and paste it into a Word document.;? Zip the project folder files.;? Put the zip file and screen shots (Word document that contains programming code and screen shots of program output) in the Dropbox.;i L A B S T E P S;STEP 1: Understand the UML Diagram;CIS274 Lab4 UML;The only change to the Employee class is that there is a new attribute;+benefit: Benefit;Notice that there is a ?+? for this attribute, meaning that it is public. Make sure to examine the multi-arg constructor?s signature!;Also, the dotted directed line between Employee and iEmployee specifies that the Employee class must implement the iEmployee abstract class, and thus provide an implementation for the calculatePay method.;STEP 2: Create the Project;You will want to use the Week 3 project as the starting point for the lab. To do this, you will want to create a new project by following these steps;1. Open the same workspace you created for the Week 3 project.;2. Create a new project and name it ?CIS247B_WK4_Lab_LASTNAME?.;3. Copy all the source files from the Week 3 project into the Week 4 project.;4. Before you move on to the next step, build and execute the Week 4 project.;STEP 3: Modify the Employee Class;1. Using the UML Diagrams from Step 1, create the Benefit class. To get an idea of how to format displayBenefits, take a look at the output in Step 5.;2. Add a Benefit attribute to the Employee class.;3. Initialize the new Benefit attribute in both Employee constructors. Again, take note of the multi-arg constructors parameter list!;4. Create the iEmployee interface.;5. Modify the Employee class to implement the new interface so that Employee will have to implement the calculatePay method.;6. Modify the Employee class to call displayBenefit when displaying Employee information.;STEP 4: Modify the Main Method;Notice that the Employee class now has a public benefit object inside it. This means that you can access the set methods of the Benefit object with the following code:.benefit.;As an example, to set the lifeInsurance attribute inside an Employee object called emp, we could execute the following code;emp.benefit.setLifeInsurance(lifeInsurance);The steps required to modify the Main class are below. New steps are in bold.;1. Create an Employee object using the default constructor.;2. Prompt for and then set the first name, last name, and gender. Consider using your getInput method from Week 1 to obtain data from the user for this step as well as Step 3.;3. Prompt for and then set the dependents and annual salary using the overloaded setters that accept Strings.;4. Prompt for and set healthInsurance, lifeInsurance, and vacation.;5. Using your code from Week 1, display a divider that contains the string ?Employee Information?.;6. Display the Employee Information.;7. Display the number of employees created using getNumEmployees(). Remember to access getNumEmployees using the class name, not the Employee object.;8. Create a Benefit object called benefit1 using the multi-arg constructor. Use any information you want for health insurance, life insurance, and vacation.;9. Create another Employee object and use the constructor to fill it with the following;?Mary?, ?Noia?, ?F?, 5, 24000.0, benefit1;10. Using your code from Week 1, display a divider that contains the string ?Employee Information?.;11. Display the employee information.;12. Display the number of employees created using getNumEmployees(). Remember to access getNumEmployees using the class name, not the Employee object.;STEP 5: Compile and Test;When done, compile and execute your code. Debug any errors until your code is error-free.;Check your output to ensure that you have the desired output, modify your code as necessary, and rebuild.;Your output should resemble the following;Screenshot of program that reads: ************** Employee Information ************** First Name: John Last Name: Doe Gender: M Dependents: 2 Annual Salary: $73,000.00 Weekly Pay: $1,403.85 Health Insurance: Partial Life Insurance: 500.0 Vacation: 10 Total employees: 1 *************** Employee Information *************** First Name: Mary Last Name: Noia Gender: F Dependents: 5 Annual Salary: $24,000.00 Weekly Pay: $461.54 Health Insurance: Full Life Insurance: 100.0 Vacation: 5 Total employees: 2;STEP 6: Submit Deliverables;? Capture the Console output window and paste it into a Word document.;? Put the zip file and screen shots (Word document) in the Dropbox.;Submit your lab to the Dropbox located on the silver tab at the top of this page. For instructions on how to use the Dropbox, read these Step-by-Step Instructions or watch this Dropbox Tutorial.;See Syllabus ?Due Dates for Assignments & Exams? for due date information.
Paper#67997 | Written in 18-Jul-2015Price : $27