Задача «Данные о системе обучения (Фабричный метод)»

Реализовать систему хранения информации о системе обучения. Информация опирается на следующие основные классы: Student, Teacher, Course. Эти классы связаны друг с другом посредством агрегации, ассоциации и проч.

Атрибуты классов

student

  • id — уникальный численный идентификатор.
  • name — имя.
  • courses - курсы, которые посещает студент

teacher

  • id — уникальный численный идентификатор.
  • experience - стаж в годах
  • name — имя
  • courses - курсы, которые ведет преподаватель

course

  • id — уникальный численный идентификатор.
  • name - название курса
  • teacher - id учителя, который ведет курс
  • students - id студентов, посещающих курс

Обеспечить загрузку и сохранение этой базы данных в текстовый файл формата TSV (Tab-Separated Values). Каждая строка в этом файле должна начинаться со слов student, teacher, course. Далее будут идти необходимые атрибуты.

Для сохранения и восстановления связей между различными объектами использовать поля id. Например, в строке с записью о курсе можно сохранить teacher_id и students_id, а после загрузки всего файла создать связь с реальным объектом.