# import productivity # manager = employees.Manager(1, 'Mary Poppins', 3000) # secretary = employees.Secretary(2, 'John Smith', 1500) # sales_guy = employees.SalesPerson(3, 'Kevin Bacon', 1000, 250) # factory_worker = employees.FactoryWorker(2, 'Jane Doe', 40, 15) # employees = [ # manager, # secretary, # sales_guy, # factory_worker, # ] # productivity_system = productivity.ProductivitySystem() # productivity_system.track(employees, 50) # payroll_system = hr.PayrollSystem() # payroll_system.calculate_payroll(employees) import hr import employees import productivity manager = employees.Manager(1, "Mary Poppins", 3000) secretary = employees.Secretary(2, "John Smith", 1500) sales_guy = employees.SalesPerson(3, "Kevin Bacon", 1000, 250) factory_worker = employees.FactoryWorker(4, "Jane Doe", 40, 15) company_employees = [manager, secretary, sales_guy, factory_worker] productivity_system = productivity.ProductivitySystem() productivity_system.track(company_employees, 40) payroll_system = hr.PayrollSystem() payroll_system.calculate_payroll(company_employees)
import hr import employees import productivity manager = employees.Manager(1, 'Mary Poppins', 3000) secretary = employees.Secretary(2, 'John Smith', 1500) sales_guy = employees.SalesPerson(3, 'Kevin Bacon', 1000, 250) factory_worker = employees.FactoryWorker(2, 'Jane Doe', 40, 15) temporary_secretary = employees.TemporarySecretary(5, 'Robin Williams', 40, 2) employees = [ manager, secretary, sales_guy, factory_worker, temporary_secretary, ] productivity_system = productivity.ProductivitySystem() productivity_system.track(employees, 40) payroll_system = hr.PayrollSystem() payroll_system.calculate_payroll(employees)
import employees as emp import productivity as ps import payroll as hr manager = emp.Manager(1, 'John Smith', 1500) secretary = emp.Secretary(2, 'Jane Doe', 1200) sales_guy = emp.SalesPerson(3, 'Kevin Bacon', 1000, 250) factory_worker = emp.FactoryWorker(4, 'Pete Peterson', 40, 15) temporary_secretary = emp.TemporarySecretary(5, 'Robin Williams', 40, 9) employees = [ manager, secretary, sales_guy, factory_worker, temporary_secretary ] productivity_system = ps.ProductivitySystem() productivity_system.track(employees, 40) payroll_system = hr.PayrollSystem() payroll_system.calculate_payroll(employees)
import hr, employees, productivity, contacts manager = employees.Manager(1, 'john smith', 1500) manager.address = contacts.Address('121 Admin Road', 'Concord', 'NH', '03301') secretary = employees.Secretary(2, 'Jane Doe', 1200) secretary.address = contacts.Address('67 Paperwork Ave', 'Manchester', 'NH', '03301') sales_guy = employees.SalesPerson(3, 'kevin bacon', 1500, 250) factory_worker = employees.FactoryWorker(4, 'Pete', 40, 15) employees = [manager, secretary, sales_guy, factory_worker] productivity_system = productivity.ProductivitySystem() productivity_system.track(employees, 40) payroll_system = hr.PayrollSystem() payroll_system.calculate_payroll(employees) # Multiple Inheritance # Composition and Inheritance
import hr import employees import productivity import contacts manager = employees.Manager(1, 'Jose Contreras', 1500) manager.address = contacts.Address('121 Admin Road', 'Concord', 'NH', '03301') secretary = employees.Secretary(1, 'Laura Vergara', 750) secretary.address = contacts.Address('121 Admin Road', 'Concord', 'NH', '03301') sales_guy = employees.SalesPerson(3, 'Pablo Espinoza', 1000, 250) factory_worker = employees.FactoryWorker(4, 'Gustavo Cumare', 40, 20) temporary_secretary = employees.TemporarySecretary(5, 'Fabiola Barrueta', 40, 9) # we comment this because Employee is an Abstract Class, so It can be instaciated # generic_employee = hr.Employee(4, 'Generic Employee') employees_list = [ manager, secretary, sales_guy, factory_worker, temporary_secretary ] productivity_system = productivity.ProductivitySystem() productivity_system.track(employees_list, 40) payroll_system = hr.PayrollSystem() payroll_system.calculate_payroll(employees_list)
"""This is where the main app runs.""" import backtrace import hr import employees import productivity import contacts print(employees.TempSecretary.__mro__) # vadim = employees.Employee(1, 'vadim') aaron = employees.Manager(2, 'aaron', 1000) aarona = employees.Secretary(3, 'aarona', 100) cheng = employees.FactoryWorker(4, 'cheng', 10, 40) luo = employees.SalesPerson(5, 'luo', 500, 300) joanna = employees.TempSecretary(6, 'joanna', 10, 30) # here we're adding an address object to aaron's object. so object inside of obj. aaron.address = contacts.Address('dzirnavu', 'riga', 'soviet republic of latvia', '1010', '34a-15') employees = [aaron, aarona, cheng, luo, joanna] productivity_tracker = productivity.ProductivityTracker() productivity_tracker.track(employees, 40) payroll_system = hr.PayrollSystem() payroll_system.calculate_payroll(employees)