Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

70 строки
3.4 KiB
Markdown

# Общее контрольное задание по теме 8
**Антонов Дмитрий, А-03-23** \
Общее контрольное задание.
Создайте и запишите в модуль класс, содержащий следующие компоненты:
- конструктор, задающий четырем атрибутам (fio, otdel, dolzhnost, oklad), представляющим фа-милии сотрудников, название отделов, названия должностей сотрудников и размеры их окладов, некоторые начальные значения;
- метод для обеспечения операции повышения оклада сотрудника на заданное значение;
- метод для обеспечения перевода сотрудника из одного отдела в другой;
- метод для изменения должности сотрудника;
- свойство, содержащее перечень (список) поощрений сотрудника.
```py
class Departament:
def __init__(self,fio,otdel,dolzhnost,oklad):
self.fio = fio
self.otdel = otdel
self.dolzhnost = dolzhnost
self.oklad = oklad
self.__prm = list()
def increase(self,put):
self.oklad += put
def new_work(self,new_otdel):
self.otdel = new_otdel
def new_dolzhnost(self,new_dolzh):
self.dolzhnost = new_dolzh
def all_info(self):
print(self.fio,self.otdel,self.dolzhnost,self.oklad,self.prop)
def getter(self):
return self.__prm
def setter(self,new):
self.__prm.append(new)
prop = property(getter,setter)
```
Задание: Создайте 2 экземпляра класса, задайте им некоторые значения атрибутов и свойства. Отобразите эти значения. Попробуйте с этими экземплярами операции перевода из отдела в отдел, измене-ния должности и оклада, объявления благодарности.
```py
from control import Departament
empl_fr = Departament("Иванов И.И.","УИТ","Доцент",100)
empl_sec = Departament("Петров П.П.","ИРЭ","Аспирант",50)
empl_fr.all_info()
Иванов И.И. УИТ Доцент 100 []
empl_sec.all_info()
Петров П.П. ИРЭ Аспирант 50 []
empl_sec.new_work("УИТ")
empl_sec.all_info()
Петров П.П. УИТ Аспирант 50
empl_fr.new_dolzhnost("Академик")
empl_fr.increase(120)
empl_fr.all_info()
Иванов И.И. УИТ Академик 220
empl_fr.prop="Отличная работа!"
empl_fr.all_info()
Иванов И.И. УИТ Академик 220 Отличная работа!
empl_fr.prop="Отличная работа!"
empl_fr.prop="Отличная работа!"
empl_fr.prop="Отличная работа!"
empl_fr.all_info()
Иванов И.И. УИТ Доцент 100 ['Отличная работа!', 'Отличная работа!', 'Отличная работа!']
```