Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Employee:
- raise_amt = 1.04
- def __init__(self, first, last, pay):
- self.first = first
- self.last = last
- self.email = first + '.' + last + '@email.com'
- self.pay = pay
- def fullname(self):
- return '{} {}'.format(self.first, self.last)
- def apply_raise(self):
- self.pay = int(self.pay * self.raise_amt)
- class Developer(Employee):
- raise_amt = 1.10
- def __init__(self, first, last, pay, prog_lang):
- super().__init__(first, last, pay)
- self.prog_lang = prog_lang
- class Manager(Employee):
- def __init__(self, first, last, pay, employees=None):
- Employee().__init__(self, first, last, pay)
- if employees is None:
- self.employees = []
- else:
- self.employees = employees
- def add_emp(self, emp):
- if emp not in self.employees:
- self.employees.append(emp)
- def remove_emp(self, emp):
- if emp in self.employees:
- self.employees.remove(emp)
- def print_emps(self):
- for emp in self.employees:
- print('-->', emp.fullname())
- dev_1 = Developer('Herbert', 'Schafter', 50000, 'Python')
- dev_2 = Developer('Test', 'Employee', 60000, 'Java')
- dev_3 = Developer('Lola', 'Matanius', 666, 'SQL')
- mgr_1 = Manager('Priscilla', 'Smith', 90000, [dev_1])
- mgr_2 = Manager('Secretia', 'pest', 3000, [mgr_1])
- print(mgr_1.email)
- mgr_1.add_emp(dev_2)
- mgr_1.remove_emp(dev_1)
- mgr_1.print_emps()
- mgr_2.print_emps()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement