# Общее контрольное задание по теме 9 Беженарь Алёна, А-02-23 ## Задание Создайте и запишите в модуль класс, содержащий следующие компоненты: * конструктор, задающий четырем атрибутам (fio, otdel, dolzhnost, oklad), представляющим фамилии сотрудников, название отделов, названия должностей сотрудников и размеры их окладов, некоторые начальные значения; * метод для обеспечения операции повышения оклада сотрудника на заданное значение; * метод для обеспечения перевода сотрудника из одного отдела в другой; * метод для изменения должности сотрудника; * свойство, содержащее перечень (список) поощрений сотрудника. Создайте 2 экземпляра класса, задайте им некоторые значения атрибутов и свойства. Отобразите эти значения. Попробуйте с этими экземплярами операции перевода из отдела в отдел, изменения должности и оклада, объявления благодарности. ## Решение ```py class Employee: def __init__(self, fio = "", otdel="", dolzhnost="",oklad=0): self.fio=fio self.otdel=otdel self.dolzhnost=dolzhnost self.oklad=oklad self.__pooshreniya=[] self.pooshreniya = property( self.get_pooshreniya, self.set_pooshreniya ) def change_oklad(self, diff): self.oklad += diff def change_otdel(self, new_otdel): self.otdel = new_otdel def change_dolzhnost(self, new_dolzhnost): self.dolzhnost = new_dolzhnost def get_pooshreniya(self): return list(self.__pooshreniya) def set_pooshreniya(self,pooshrenie): self.__pooshreniya.append(pooshrenie) def get_employee_info(self): print(f""" ФИО: {self.fio} Отдел: {self.otdel} Должность: {self.dolzhnost} Оклад: {self.oklad} руб. Поощрения: {self.__pooshreniya} """) ``` ```py >>> from Employee import Employee >>> employee1 = Employee("Киреев Ю.П.", "Отдел по развлечению клиентов", "Клоун", 100000) >>> employee2 = Employee("Володин Д.В.", "Отдел инноваций", "программист БЯМов", 150000) >>> employee1.get_employee_info() # Отображение полной информации об экземпляре класса ФИО: Киреев Ю.П. Отдел: Отдел по развлечению клиентов Должность: Клоун Оклад: 100000 руб. Поощрения: [] >>> employee2.get_employee_info() ФИО: Володин Д.В. Отдел: Отдел инноваций Должность: программист БЯМов Оклад: 150000 руб. Поощрения: [] >>> employee1.change_otdel("Отдел по работе с клиентами") # Изменение отдела >>> employee1.change_oklad(5000) # Изменение оклада >>> employee2.change_oklad(-5000) # Изменение оклада >>> employee2.change_dolzhnost("БЯМовед") # Изменение должности >>> employee1.set_pooshreniya("Почетная грамота") # Добавление поощрения >>> employee2.set_pooshreniya("Медаль") >>> employee1.get_employee_info() # Отображение полной информации об экземпляре класса ФИО: Киреев Ю.П. Отдел: Отдел по работе с клиентами Должность: Клоун Оклад: 105000 руб. Поощрения: ['Почетная грамота'] >>> employee2.get_employee_info() ФИО: Володин Д.В. Отдел: Отдел инноваций Должность: БЯМовед Оклад: 145000 руб. Поощрения: ['Медаль'] ```