Advertisement
Guest User

Untitled

a guest
Oct 21st, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.52 KB | None | 0 0
  1.  
  2. class Employee:
  3.  
  4.     raise_amt = 1.04
  5.  
  6.     def __init__(self, first, last, pay):
  7.         self.first = first
  8.         self.last = last
  9.         self.email = first + '.' + last + '@email.com'
  10.         self.pay = pay
  11.  
  12.     def fullname(self):
  13.         return '{} {}'.format(self.first, self.last)
  14.  
  15.     def apply_raise(self):
  16.         self.pay = int(self.pay * self.raise_amt)
  17.  
  18.  
  19. class Developer(Employee):
  20.     raise_amt = 1.10
  21.  
  22.     def __init__(self, first, last, pay, prog_lang):
  23.         super().__init__(first, last, pay)
  24.         self.prog_lang = prog_lang
  25.  
  26.  
  27. class Manager(Employee):
  28.  
  29.     def __init__(self, first, last, pay, employees=None):
  30.         Employee().__init__(self, first, last, pay)
  31.         if employees is None:
  32.             self.employees = []
  33.         else:
  34.             self.employees = employees
  35.  
  36.     def add_emp(self, emp):
  37.         if emp not in self.employees:
  38.             self.employees.append(emp)
  39.  
  40.     def remove_emp(self, emp):
  41.         if emp in self.employees:
  42.             self.employees.remove(emp)
  43.  
  44.     def print_emps(self):
  45.         for emp in self.employees:
  46.             print('-->', emp.fullname())
  47.  
  48. dev_1 = Developer('Herbert', 'Schafter', 50000, 'Python')
  49. dev_2 = Developer('Test', 'Employee', 60000, 'Java')
  50. dev_3 = Developer('Lola', 'Matanius', 666, 'SQL')
  51.  
  52.  
  53. mgr_1 = Manager('Priscilla', 'Smith', 90000, [dev_1])
  54. mgr_2 = Manager('Secretia', 'pest', 3000, [mgr_1])
  55.  
  56. print(mgr_1.email)
  57.  
  58. mgr_1.add_emp(dev_2)
  59. mgr_1.remove_emp(dev_1)
  60.  
  61. mgr_1.print_emps()
  62.  
  63. mgr_2.print_emps()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement