форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
70 строки
3.4 KiB
Markdown
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 ['Отличная работа!', 'Отличная работа!', 'Отличная работа!']
|
|
``` |