diff --git a/TEMA9/control.py b/TEMA9/control.py new file mode 100644 index 0000000..1872986 --- /dev/null +++ b/TEMA9/control.py @@ -0,0 +1,57 @@ +class Sotrudnik: + def __init__(self, fio, otdel=None, dolzhnost=None, oklad = 70000): + self.fio = fio + self.otdel = otdel + self.dolzhnost = dolzhnost + self.oklad = oklad + self._pooshreniya = [] + def list_poochreniya(self, poochreniye): + list_poshreniya = [] + list_posreniya.append(poochreniye) + self.poochreniya = list_poochreniya + + def povishenie_oklada(self, oklad_povisheniy): + self.oklad = oklad_povisheniy + print(f'Сумма оклада изменилась с мин. 70000 руб. на {oklad_povisheniy} руб.') + def perevod_otdel(self, perevod_otdel_name): + self.otdel = perevod_otdel_name + print(f'Перевод сотрудника на отдел {perevod_otdel_name}') + def izm_dolzhnost(self, izm_dolzhnost_name): + self.dolznost = izm_dolzhnost_name + print(f'Изменение должности на {izm_dolzhnost_name}') + @property + def pooshreniya(self): + """ + Свойство для получения списка поощрений + + Возвращает: + - копию списка поощрений (для защиты от изменения извне) + """ + return self._pooshreniya.copy() + @pooshreniya.setter + def pooshreniya(self, value): + """ + Сеттер для поощрений (только для очистки списка) + Можно передать пустой список для очистки + """ + if isinstance(value, list) and len(value) == 0: + self._pooshreniya = [] + print(f"Список поощрений {self.fio} очищен") + else: + print("Примечание: для добавления поощрений используйте метод obyavit_blagodarnost()") + + def info(self): + """ + Возвращает строку с информацией о сотруднике + """ + return (f"ФИО: {self.fio}\n" + f"Отдел: {self.otdel}\n" + f"Должность: {self.dolzhnost}\n" + f"Оклад: {self.oklad} руб.\n" + f"Количество поощрений: {len(self._pooshreniya)}") + + def __str__(self): + """Строковое представление объекта""" + return f"Сотрудник: {self.fio} ({self.dolzhnost}, {self.otdel})" + +