Skip to content

Latest commit

 

History

History
54 lines (30 loc) · 3.83 KB

File metadata and controls

54 lines (30 loc) · 3.83 KB

Бэкенд-разработчик — Тестовое задание от Oxem Studio

Готовое задание прислать ссылкой на репозиторий в GitHub.

На выполнение задание отводится 5 дней с момента получения.

Задание: симулятор деревенской жизни на ООП

Летом, чтобы отдохнуть от городской суеты, вы поехали к дяде на ферму. Через несколько дней отдых вам наскучил, и вы решили поупражняться в программировании. Зайдя в хлев, где живут коровы и куры, и увидев как работает автоматический сборщик молока и яиц, вы решили описать его работу в парадигме ООП.

Дано

  • В хлеву живут 10 коров и 20 кур;
  • Корова может давать 8-12 литров молока за один надой;
  • Курица может нести 0-1 яйцо за одну кладку;
  • У каждой коровы и курицы на ферме есть уникальный регистрационный номер.

Задача

Реализовать, используя php, объектно-ориентированную систему: прототип сбора продукции. Реализовать структуру классов, задействовать механизм наследования.

Класс фермы (Farm) должен быть автономным, сам вести учёт номеров животных, сбор и подсчет продукции. Решение должно быть расширяемым, добавление новых типов животных и продукции не должно приводить к модификации непосредственно класса Farm.

Система должна уметь:

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

Реализация графического интерфейса не требуется.

Реализация хранения данных в БД или файлах не требуется.

Задание рассчитано на проверку навыков работы с ООП.

Способ первичной инициализации списка животных - на ваше усмотрение.

Результат запуска скрипта

При запуске скрипта main.php в консоли:

  • Система должна добавить животных в хлев (10 коров и 20 кур).
  • Вывести на экран информацию о количестве каждого типа животных на ферме.
  • 7 раз (неделю) произвести сбор продукции (подоить коров и собрать яйца у кур).
  • Вывести на экран общее кол-во собранной за неделю продукции каждого типа.
  • Добавить на ферму ещё 5 кур и 1 корову (съездили на рынок, купили животных).
  • Снова вывести информацию о количестве каждого типа животных на ферме.
  • Снова 7 раз (неделю) производим сбор продукции и выводим результат на экран.