Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

создать зоопарк

Конкретных животных должно быть по 3 класса на каждую группу (итого 6 разных типов животных). Обязательно должны быть утка и рыба (рыба хищник или травоядное на выбор).

Создать аналогичную архитектуру для классов еды (Food, Grass, Meat).

Создать интерфейсы определяющие поведение животных (Run, Swim, Fly, Voice). Классы животных должны реализовывать интерфейсы, соответствующие данным конкретным животным. В каждом интерфейсе должен быть не default метод, соответствующий данному интерфейсу (например метод fly() в интерфейсе Fly). Метод voice() интерфейса Voice должен иметь тип возвращаемого значения String.

В классе Animal должен быть метод eat(Food food), который принимает в качестве аргумента еду. Данный метод должен быть переопределен в классах наследниках (подумать в каких). Если переданная еда не подходит животному (хищники не едят траву, травоядные не едят мясо), то на экран должно быть выведено соответствующее предупреждение. Проверку на соответствие типа еды выполнять через instanceof.

Создать класс рабочего зоопарка (Worker) с методами:

- feed(…) – покормить любое животное любой едой. У метода должно быть два параметра – животное и еда.

- getVoice(…) – заставить животное подать голос (вывести на экран то, что говорит конкретное животное). У метода должен быть один параметр – животное, которое издает звук. Метод должен принимать в качестве аргумента только тех животных, которые могут издавать звуки.

В корневом каталоге программы должен быть класс Zoo c точкой входа в программу. Необходимо создать объекты классов животных, еды, работника зоопарка. Вызвать у объекта рабочего все его методы с разными комбинациями параметров (например попытаться накормить хищника и мясом и травой).

Так же создать пруд – массив с животными которые умеют плавать. В пруду может быть несколько животных одного типа, но типов (различных классов) должно быть не менее двух. В цикле вызвать метод swim() у каждого животного из массива.

Добавить на ваше усмотрение необходимые поля класса и логику методов. Например, животные могут иметь шкалу сытости, а разная еда значение, заполняющее эту шкалу. Методы могут выводить на экран то, что они выполняют.

При добавлении полей и вспомогательных методов помнить про принцип инкапсуляции.

Требования:

Классы для животных и их интерфейсы должны находиться в пакете animals;

Классы для еды должны находиться в пакете food;

В программе должны присутствовать абстрактные классы;

В программе должны присутствовать абстрактные методы;

В программе должны присутствовать интерфейсы.

В программе должны быть классы Fish и Duck.

Метод getVoice класса Worker не должен принимать экземпляры класса Fish и других немых животных (при попытке это сделать программа не должна компилироваться).

Instanceof можно применять только в методе eat()

Не использовать Reflection API

В программе не должно быть не абстрактных методов без реализации (с пустым телом метода { }).

Без спецэффектов)) все на уровне 0 +

3 года назад
guest_16190677946514
3 года в сервисе
Был
3 года назад
  • Похожие заказы
  • Необходимо выполнить парсинг сайта profitbase.ru с данными о недвижимости средствами c#. К техзаданию прилагается заготовка проекта (библиотека классов net framework) с простой структурой данных, которую необходимо заполнить[list][url=https://st.weblancer.net/download/4803316.docx][/url][/list]

    Прикладное ПО1 исполнитель
    Завершен
    3 года назад
  • $3

    Программа представляет из себя недоделанный логический калькулятор.Работа заключается в том,чтобы,отталкиваясь от готовой программы,добавить туда новые операции(действия),которые указаны в прикреплённом ниже файле. (Данная программа рассчитана на работу с нулями и единицами,так что по поводу переменных беспокоиться не ...

    Закрыт
    3 года назад
  • На проект требуются специалисты по C#  Со знанием WinForms, .NET Framework 4+, EF, ASP.NET WebApi 2 Все подробности в личных сообщениях

    Закрыт
    3 года назад
  • $8000

    Сервис представляет собой клиент серверное приложение с отправкой команд на реле исполнительного устройства (автоматический парковочный блокиратор). Суть: На парковке установлено несколько закрытых автоматических блокираторов парковки находящихся под управлением ПЛК или иного контроллера соединенного с серверной частью системы; каждое ...

    Закрыт
    3 года назад
  • Нужно скрипт чтобы с одной учетной запись на tradingview, вытянул данные и перекинул на другой, с некоторыми изменениями. Плюс чтоб высылал уведомления в телеграмм канале об события на графиках.

    Прикладное ПОнет заявок
    Закрыт
    3 года назад
  • Необходимо доработать программу, написанную на Python, с использованием Django и PostgreSQL.Нужно провести коррекцию работоспособности программы, восстановить функцию отображения данных в конечной форме. Результатом должна быть визуализация формы отчёта

    Закрыт
    3 года назад
  • $25

    В инете есть библиотека [url=https://github.com/keplerproject/luasql]https://github.com/keplerproject/luasql[/url] , необходимо на её основе скомпилировать библиотеку mysql.dll для работы из скриптов LUA, На выходе должно быть 2 файла: mysql.dll, lybmysql.dll которые должны запускаться из LUA 5.3 WIN64 ...

    Закрыт
    3 года назад
  • Нужно написать на Java плагин, встраиваемый в [url=https://developer.atlassian.com/server/framework/atlassian-sdk/set-up-the-atlassian-plugin-sdk-and-build-a-project/]Jira Server/DataCenter[/url], который будет подключаться к Git-репозиторию, загружать в локальныю базу данных Jira информацию о коммитах/ветках/pull-request'ах, а на странице просмотра задачи/тикета отображать эту инфу. Схема работы с программой должна ...

    Закрыт
    3 года назад