Answered step by step
Verified Expert Solution
Question
1 Approved Answer
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
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started