1. Главная
  2. Библиотека
  3. Программирование
  4. Разобьём пользователей школы на три группы: администрат...
Разбор задачи

Разобьём пользователей школы на три группы: администраторы, преподаватели и ученики. Все пользователи могут решать задачи. Также администраторы могут редактировать задачи, а преподаватели могут проверять решения учеников. Также среди администраторов есть

  • Предмет: Программирование
  • Автор: Кэмп
  • #Основы алгоритмизации и программирования
  • #Языки программирования (C++, Java, Python и др.)
Разобьём пользователей школы на три группы: администраторы, преподаватели и ученики. Все пользователи могут решать задачи. Также администраторы могут редактировать задачи, а преподаватели могут проверять решения учеников. Также среди администраторов есть

Условие:

Разобьём пользователей школы на три группы: администраторы, преподаватели и ученики. Все пользователи могут решать задачи.

Также администраторы могут редактировать задачи, а преподаватели могут проверять решения учеников. Также среди администраторов есть особенные «супер-администраторы», которые могут сделать администратором любого пользователя школы.

Реализуйте следующую иерархию классов:\nUser - базовый класс с методом Solve(n), где n - целое число (идентификатор задачи).\nStudent - класс, наследующийся от User.\nTeacher - класс, наследующийся от User и имеющий дополнительный метод CheckSolution(user, n), где user - объект типа User, a n - целое число (идентификатор задачи).\nAdmin - класс, наследующийся от User и имеющий дополнительный метод Edit(n), где n - целое число (идентификатор задачи).\nSuperAdmin - класс, наследующийся от Admin и имеющий дополнительный метод Grant(user), где user - объект типа User.

Сами методы Solve, CheckSolution, Edit и Grant реализовывать не нужно.

Решение:

Для реализации заданной иерархии классов в языке Python, мы создадим базовый класс User и его наследников: Student, Teacher, Admin и SuperAdmin. Каждый класс будет содержать указанные методы, но их реализацию мы оставим пустой, так как это не требуется.

Вот как будет выглядеть структура классов:

Внутри — полный разбор, аргументация, алгоритм решения, частые ошибки и как отвечать на каверзные вопросы препода, если спросит

Попробуй решить по шагам

Попробуй один шаг и продолжи в режиме обучения или посмотри готовое решение

Какое ключевое преимущество объектно-ориентированного подхода демонстрирует иерархия классов, представленная в задаче?

Что нужно знать по теме:

Что нужно знать по теме

Алгоритм решения

Топ 3 ошибок

Что спросит препод

Выбери предмет