CLASS INHERITANCE
COSC 2436 Python Programming Assignment 1
1
Payroll Classes – Inheritance and Polymorphism
Specification:
ABC Corp. has a staff of employees and needs to calculate pay for all of its employees. Below is a class
hierarchy of the employees
Class Name: Employee – super class
Members in the Employee class: *All data fields are private members
Data fields Data type Purpose
name string Employee’s name
department string Employee’s department
Constructor Purpose
__init__ Parameter list: (name=”, department=”)
Assign parameter value to data fields
Method Name Return type Parameter list
get_name string Return data field name
set_name None Parameter list: (self, name)
get_department string Return data field department
set_department None Parameter list: (self, department)
pay float Return 0.0
__str__ string Return the description of the Employee object
Class Name: CommissionPaid – subclass of Employee
Members in the Executive class: *All data fields are private members
Data fields Data type Purpose
base_rate float Base salary for the week
sales float Weekly sales
Constructor Purpose
__init__ call super class’s __init__
Parameter list: (self, base_rate,sales)
Assign parameter value to data fields
Method Name Return type Parameter list
get_base_rate float Return data field base_rate
Employee
CommissionPaid HourlyPaid SalaryPaid
COSC 2436 Python Programming Assignment 1
2
set_base_rate None Parameter list: (self, base_rate)
get_sales float Return data field sales
set_sales None Parameter list: (self, sales)
pay
float Return base pay + commission for that week
Commission calculation:
If sales amount is greater than 30,000
commission is 3% of the sales amount
else if sales amount is between 5,000 to 30,000
commission is 1% of the sales amount
else (the sales amount is less than 5,000)
there is no commission
__str__ string Return the description of the CommissionPaid object
Class Name: HourlyPaid – subclass of Employee
Members in the HourlyPaid class:
Data fields Data type Purpose
hourly_rate float Hourly rate
hours float Hours worked for the week
Constructor Purpose
__init__ call super class’s __init__
Parameter list: (self, hourly_rate, hours)
Assign parameter value to data fields
Method Name Return type Parameter list
get_hourly_rate float Return data field hourly_rate
set_hourly_rate None Parameter list: (self, hourly_rate)
get_hours float Return data field hours
set_hours None Parameter list: (self, hours)
pay float Calculate weekly pay including overtime pay
Overtime pay calculation:
If hours worked are over 40, the overtime pay will be
calculated using hourly rate * overtime hours * 1.5
__str__ string Return description of the HourlyPaid object
Class Name: SalaryPaid– subclass of Employee
Members in the SalaryPaid class:
Data fields Data type Purpose
salary float Weekly salary
Constructor Purpose
__init__ call super class’s __init__
Parameter list: (self, salary)
COSC 2436 Python Programming Assignment 1
3
Assign parameter value to data field
Method Name Return type Parameter list
get_salary float Return data field salary
set_salary None Parameter list: (self, salary)
pay float return weekly salary
__str__ string Return description of the SalaryPaid object
Functions in the main program:
Function Name Return Type Parameter List
total_pay float Parameter: a list of employee objects
Return total weekly pay for all employees
print_employee_list None Parameter: a list of employee objects
Display the employee information. (See Program Output)
Assignment Instructions:
1. Create a python module to store all classes and name it employees.py
2. Create a python file which will contain the main function to test your classes and name it
assignment1_yourFirstName_yourLastName.py
3. To test your code, create a list of objects containing 3 instances. Summarize your data to display
each employee information, and total payroll for the week. Here is the test data.
CommissionPaid object: Justin White, Marketing department, base pay: $500, sales:$50,000
HourlyPaid object: John Smith, Accounting department, hourly rate: $20.5, hours: 55.0
SalaryPaid object: Mary Smith, Finance department, salary: $2,500
4. You can create extra function to enhance your program
5. Name your variables clearly
6. Add comments to document your project and code
7. Add doc string to document your module/functions
8. Submit two python files and a screen shot of your output in Canvas for grading
Program Output:
Employee Type Employee Name Department Weekly Pay
————- ————- ———- ———-
Hourly Paid John Smith Accounting $ 1281.25
Salary Paid Mary Smith Finance $ 2500.00
Commission Paid Justin White Marketing $ 1400.00
Total Weekly Pay:$ 5181.25
We provide professional writing services to help you score straight A’s by submitting custom written assignments that mirror your guidelines.
Get result-oriented writing and never worry about grades anymore. We follow the highest quality standards to make sure that you get perfect assignments.
Our writers have experience in dealing with papers of every educational level. You can surely rely on the expertise of our qualified professionals.
Your deadline is our threshold for success and we take it very seriously. We make sure you receive your papers before your predefined time.
Someone from our customer support team is always here to respond to your questions. So, hit us up if you have got any ambiguity or concern.
Sit back and relax while we help you out with writing your papers. We have an ultimate policy for keeping your personal and order-related details a secret.
We assure you that your document will be thoroughly checked for plagiarism and grammatical errors as we use highly authentic and licit sources.
Still reluctant about placing an order? Our 100% Moneyback Guarantee backs you up on rare occasions where you aren’t satisfied with the writing.
You don’t have to wait for an update for hours; you can track the progress of your order any time you want. We share the status after each step.
Although you can leverage our expertise for any writing task, we have a knack for creating flawless papers for the following document types.
Although you can leverage our expertise for any writing task, we have a knack for creating flawless papers for the following document types.
From brainstorming your paper's outline to perfecting its grammar, we perform every step carefully to make your paper worthy of A grade.
Hire your preferred writer anytime. Simply specify if you want your preferred expert to write your paper and we’ll make that happen.
Get an elaborate and authentic grammar check report with your work to have the grammar goodness sealed in your document.
You can purchase this feature if you want our writers to sum up your paper in the form of a concise and well-articulated summary.
You don’t have to worry about plagiarism anymore. Get a plagiarism report to certify the uniqueness of your work.
Join us for the best experience while seeking writing assistance in your college life. A good grade is all you need to boost up your academic excellence and we are all about it.
We create perfect papers according to the guidelines.
We seamlessly edit out errors from your papers.
We thoroughly read your final draft to identify errors.
Work with ultimate peace of mind because we ensure that your academic work is our responsibility and your grades are a top concern for us!
Dedication. Quality. Commitment. Punctuality
Here is what we have achieved so far. These numbers are evidence that we go the extra mile to make your college journey successful.
We have the most intuitive and minimalistic process so that you can easily place an order. Just follow a few steps to unlock success.
We understand your guidelines first before delivering any writing service. You can discuss your writing needs and we will have them evaluated by our dedicated team.
We write your papers in a standardized way. We complete your work in such a way that it turns out to be a perfect description of your guidelines.
We promise you excellent grades and academic excellence that you always longed for. Our writers stay in touch with you via email.