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

 

Классы Person и Customer.
Напишите класс Person с атрибутами данных для имени, адреса и телефонного номера человека. Затем напишите класс Customer (Клиент), который является подклассом класса Person. Класс Customer должен иметь атрибут данных для номера клиента и атрибут
булевых данных, указывающий, хочет ли клиент быть в списке рассылки или нет. Про­демонстрируйте экземпляр класса Customer в простой программе.

 

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

class Person():
    def __init__(self):
        self.__name = 'Имя'
        self.__adres = 'Адрес'
        self.__phone_num = 'Номер телефона'
    def set_name(self, name):
        self.__name = name
    def set_adres(self, adres):
        self.__adres = adres
    def set_phone(self, phone_num):
        self.__phone_num = phone_num
    def get_name(self):
        return self.__name
    def get_adres(self):
        return self.__adres
    def get_phone(self):
        return self.__phone_num
class Customer(Person):
    def __init__(self):
        self.__num = 'Номер клиента'
        self.__rassilka = False
        Person.__init__(self)
    def set_num(self, num):
        self.__num = num
    def set_rassilka(self):
        self.__rassilka = True
    def get_num(self):
        return self.__num
    def get_rassilka(self):
        return self.__rassilka
man = Customer()
name = input('Введите имя клиента: ')
adres = input('Введите адрес клиента:')
phone = input('Введите номер телефона клиента:')
num = int(input('Введите номер клиента:'))
rassilka = int(input('Укажите желает ли клиент получать уведомления 1- желает 0 не желает:'))
man.set_name(name)
man.set_adres(adres)
man.set_phone(phone)
man.set_num(num)
if rassilka == 1:
    man.set_rassilka()
else:
    pass
if man.get_rassilka():
    print(f'имя: {man.get_name()}, адрес: {man.get_adres()}, номер телефона: {man.get_phone()},'
          f' номер клиента: {man.get_num()} ')
else:
    print('Клиент отказался от рассылки')