Question: Question B2 Write a superclass Worker and subclasses HourlyWorker and SalariedWorker. Every worker has a name and salary rate (per hour). Write a method computePay

Question B2 Write a superclass Worker and subclasses HourlyWorker and SalariedWorker. Every worker has a name and salary rate (per hour). Write a method computePay (int hours) that computes the weekly pay for every worker. An hourly worker gets paid the hourly wage for the actual number of hours worked, if hours is at most 40 . If the hourly worker worked more than 40 hours, the excess is paid at double time. The salaried worker gets paid the hourly wage for 40 hours, no matter what the actual number of hours is. To test the developed classes write a driver class containing a method weeklyReport that takes as parameters a Worker object and an integer representing the number of hours this worker worked in a given week, and returns a statement containing: the worker's name, an information whether she/he is an hourly worker or salaried worker and the amount of money earned by the worker for that week. Your solution should contain the following classes: a) Worker class containing a constructor and necessary methods; [7 marks] b) HourlyWorker class containing a constructor and necessary methods; [7 marks] c) SalariedWorker class containing a constructor and necessary methods; [4 marks] d) Test class containing weeklyReport method. You do not need to provide a main method in the Test class. [7 marks] You should avoid code duplication in your solution
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
