Условия задачи:

 

Классы Employee и ProductionWorker. Напишите класс Employee (Сотрудник), который содержит атрибуты приведенных ниже данных:
•имя сотрудника;
•номер сотрудника.
Затем напишите класс ProductionWorker (Рабочий), который является подклассом класса Employee. Класс ProductionWorker должен содержать атрибуты приведенных ниже дан­ных:
•номер смены (целое число, к примеру, 1 или 2);
•ставка почасовой оплаты труда.
Рабочий день разделен на две смены: дневную и вечернюю. Атрибут смены будет содер­жать целочисленное значение, представляющее смену, в которую сотрудник работает. Дневная смена является сменой 1, вечерняя смена - сменой 2. Напишите соответствую­щие методы-получатели и методы-мутаторы для каждого класса. 
Затем напишите программу, которая создает объект класса ProductionWorker и предлага­ет пользователю ввести данные по каждому атрибуту данных этого объекта. Сохраните данные в объекте и примените в этом объекте методы-получатели, чтобы получить эти данные и вывести их на экран.

 

Решение задачи:

class Employee():
    def __init__(self):
        self.__name = 'name'
        self.__number = 'number'
    def get_name(self):
        return self.__name
    def get_number(self):
        return self.__number
    def set_name(self, name):
        self.__name = name
    def set_number(self, number):
        self.__number = number
class ProductionWorker(Employee):
    def __init__(self):
        self.__sutki = '1'
        self.__stavka = 1
        Employee.__init__(self)
    def get_sutki(self):
        return self.__sutki
    def get_stavka(self):
        return 1 if self.__sutki == '1' else 1.5
    def set_sutki(self, sutki):
        self.__sutki = sutki
    def __str__(self):
        return f'Имя: {self.__name},  номер: {self.__number}, смена: {self.__sutki}, ставка: {self.__stavka}'
worker = ProductionWorker()
name = input('Введите имя работника: ')
number = input('Введите номер работника: ')
sutki = input('Введите смену работника 1 или 2 : ')
worker.set_name(name)
worker.set_number(number)
worker.set_sutki(sutki)
print(f'Имя: {worker.get_name()},  номер: {worker.get_number()},'
      f' смена: {worker.get_sutki()}, ставка: {worker.get_stavka()}')