Posted: October 27th, 2022

DATA STRUCTURES PYTHON

CLASS INHERITANCE

COSC 2436 Python Programming Assignment 1

Don't use plagiarized sources. Get Your Custom Essay on
DATA STRUCTURES PYTHON
Just from $13/Page
Order Essay

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

Expert paper writers are just a few clicks away

Place an order in 3 easy steps. Takes less than 5 mins.

Calculate the price of your order

You will get a personal manager and a discount.
We'll send you the first draft for approval by at
Total price:
$0.00

Order your essay today and save 30% with the discount code ESSAYHELP