Напишите программу на языке Python, в которой будет представлена иерархия классов, состоящая из следующих уровней

  • 60
Напишите программу на языке Python, в которой будет представлена иерархия классов, состоящая из следующих уровней: "Person" (Человек), "Preschooler" (Дошкольник), "Schoolchild" (Школьник), "Student" (Студент) и "Working" (Работающий). Базовый класс "Person" должен иметь атрибуты для хранения полного имени, возраста и пола, а также методы для получения среднего дохода и среднего расхода в денежном эквиваленте. Пожалуйста, продемонстрируйте работу всех методов классов и предоставьте пользователю возможность выбрать тип объекта для демонстрации.
Путник_С_Звездой
11
Конечно! Вот программный код на языке Python, который демонстрирует иерархию классов, описанную в задаче:

python
class Person:
def __init__(self, full_name, age, gender):
self.full_name = full_name
self.age = age
self.gender = gender

def get_average_income(self):
# здесь должна быть логика расчета среднего дохода
pass

def get_average_expenses(self):
# здесь должна быть логика расчета среднего расхода
pass


class Preschooler(Person):
def __init__(self, full_name, age, gender):
super().__init__(full_name, age, gender)

def play(self):
# здесь можно добавить логику игры дошкольника
pass


class Schoolchild(Person):
def __init__(self, full_name, age, gender):
super().__init__(full_name, age, gender)

def study(self):
# здесь можно добавить логику учебы школьника
pass


class Student(Person):
def __init__(self, full_name, age, gender):
super().__init__(full_name, age, gender)

def attend_lectures(self):
# здесь можно добавить логику посещения лекций студентом
pass


class Working(Person):
def __init__(self, full_name, age, gender):
super().__init__(full_name, age, gender)

def work(self):
# здесь можно добавить логику работы
pass


# Пример использования классов

def display_person_info(person):
print(f"Имя: {person.full_name}")
print(f"Возраст: {person.age}")
print(f"Пол: {person.gender}")
print(f"Средний доход: {person.get_average_income()}")
print(f"Средние расходы: {person.get_average_expenses()}")

# Создаем объекты для демонстрации

preschooler = Preschooler("Иванов Иван", 5, "М")
schoolchild = Schoolchild("Петрова Анна", 10, "Ж")
student = Student("Сидоров Петр", 20, "М")
working_person = Working("Иванова Мария", 30, "Ж")

# Выводим информацию о каждом объекте

print("Информация о дошкольнике:")
display_person_info(preschooler)
preschooler.play()

print("Информация о школьнике:")
display_person_info(schoolchild)
schoolchild.study()

print("Информация о студенте:")
display_person_info(student)
student.attend_lectures()

print("Информация о работающем человеке:")
display_person_info(working_person)
working_person.work()


В этом коде определены пять классов: "Person", "Preschooler", "Schoolchild", "Student" и "Working", каждый из которых наследует атрибуты и методы от класса "Person". Класс "Person" представляет базовый уровень и имеет атрибуты для хранения полного имени, возраста и пола, а также методы для получения среднего дохода и среднего расхода.

Для каждого класса-наследника определены дополнительные методы, соответствующие их роли: игра для дошкольника, учеба для школьника, посещение лекций для студента и работа для работающего человека.

Программа создает объекты каждого класса и выводит информацию о них, вызывая методы для каждого объекта.

Надеюсь, этот код поможет вам понять иерархию классов и принципы наследования в Python! Если у вас есть еще вопросы, не стесняйтесь задавать.