Условия задачи:
Классы 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('Клиент отказался от рассылки')