Требования Создать абстрактный класс для работы с API-сервисом вакансий. Реализовать класс, наследующийся от абстрактного класса, для работы с платформой hh.ru. Класс должен уметь подключаться к API и получать вакансии.
Класс для работы с вакансиями Создать класс для работы с вакансиями. Класс должен иметь не менее четырех атрибутов: название вакансии, ссылка на вакансию, зарплата и описание. Класс должен поддерживать методы сравнения вакансий между собой по зарплате и валидировать данные, которыми инициализируются его атрибуты.
Валидация данных Методами валидации данных может быть проверка, указана или нет зарплата. В этом случае выставлять значение зарплаты 0 или "Зарплата не указана" в зависимости от структуры класса.
Абстрактный класс для хранения и извлечения данных Определить абстрактный класс, который обязывает реализовать методы для добавления вакансий в файл, получения данных из файла по указанным критериям и удаления информации о вакансиях.
Конкретный класс для хранения данных в файле JSON Создать конкретный класс для хранения данных в файле JSON.
Optional классы для других форматов файлов Создать дополнительные классы для хранения данных в других форматах, таких как CSV, Excel или TXT.
Функция взаимодействия с пользователем Создать функцию, которая взаимодействует с пользователем через консоль. Функция должна позволять пользователям:
Ввести поисковый запрос для запроса вакансий из hh.ru Получить топ N вакансий по зарплате (N запрашивать у пользователя) Получить вакансии с ключевым словом в описании Дополнительные функции Просмотреть дополнительные функции, которые могут быть полезны, такие как:
Сортировка вакансий по дате или компании Фильтрация вакансий по местоположению или отрасли Получение детальной информации о конкретной вакансии Тестирование Обложить описанный функционал тестами.