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

4.3 KiB

Общее контрольное задание по теме 9

Беженарь Алёна, А-02-23

Задание

Создайте и запишите в модуль класс, содержащий следующие компоненты:

  • конструктор, задающий четырем атрибутам (fio, otdel, dolzhnost, oklad), представляющим фамилии сотрудников, название отделов, названия должностей сотрудников и размеры их окладов, некоторые начальные значения;
  • метод для обеспечения операции повышения оклада сотрудника на заданное значение;
  • метод для обеспечения перевода сотрудника из одного отдела в другой;
  • метод для изменения должности сотрудника;
  • свойство, содержащее перечень (список) поощрений сотрудника.

Создайте 2 экземпляра класса, задайте им некоторые значения атрибутов и свойства. Отобразите эти значения. Попробуйте с этими экземплярами операции перевода из отдела в отдел, изменения должности и оклада, объявления благодарности.

Решение

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}
    """)
>>> 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 руб.
    Поощрения: ['Медаль']