Куриная фабрика

  • 16
  • Недоступна
Создадим международную куриную фабрику, заселим её курами разного происхождения. Создадим каталог, в котором будем указывать национальность курицы будем подсчитывать, сколько яиц в месяц они несут. Как это сделать? С помощью абстрактных классов и наследования, разумеется.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (463)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Cruelz14 уровень, Санкт-Петербург
Saturday, 21:10
Какого чёрта в требованиях сказано про создание кур разных стран в отдельных файлах, а про их родителя не сказано? Только залезая в комменты узнаешь скрытые проверки валидатора.
AndyS16 уровень, Москва
4 July, 02:38
Странно, почему задача Hard? Я так понимаю, больше задача на внимательность ко всяким пробелам перед буквами и т.п. Давно привык уже все строки, названия классов, переменных копировать и вставлять в код, чтобы не опечататься. :)
Даниил17 уровень, Владивосток
2 July, 01:27
Изначально в классе Hen сделал метод getDescription() статиком, потом вызвал его Hen.getDescription(),так валидатор не пускает,делайте через super
diledsys14 уровень, Хайфа
1 July, 21:28
и за одной точки 4 попытки потерял ". Я несу "
1 July, 08:39
задача несложная но из за того-же пробела перед словом Моя убил две попытки)
Mike22 уровень, Москва
24 June, 20:33
Решил с 3го раза <getDescription() родительского класса> + <" Моя страна - Sssss. Я несу N яиц в месяц."> Тупо наугад предположил, что перед словом "Моя" надо пробел добавить.
Vlad17 уровень, Санкт-Петербург
24 June, 08:59
Обалденная задача!!Приятно решать такие объемные и интересные задачи.
Вадим16 уровень, Саранск
22 June, 20:39
На данном этапе проще сделать, чем объяснить 😳 Основное, что нужно понять: 1) В интерфейсах все же можно создавать переменные. Они будут являться константами (public static final). Что бы в классе был безпрепятственный доступ к этим переменным, класс должен реализовать данный интерфейс. Либо на крайняк можно обратиться к переменной через имя интерфейса. 2) Метод родительского класса вызывается через super. 3) Ну и то, что в переменную родительского класса без проблем можно сохранить ссылку на объект класса наследника (расширение типа). Соответственно у созданного объекта можно вызвать методы класса родителя с реализацией из класса наследника.
Mike22 уровень, Москва
24 June, 20:34
П.1 не понял зачем он тут, решил без него. А так да, согласен.
Verhun Kyrylo17 уровень
28 June, 15:10
Наверное о том, что можно просто реализовать интерфейс
Country
в классах
HenFactory
Hen
И не задумываться больше об этих переменных(константах)
Иван14 уровень, Санкт-Петербург
21 June, 10:42
Давно уже принял решение что буду копировать тексты и названия методов из описания. Ведь при наборе часто можно допускать опечатки и орф ошибки. Все скопировал все работает валидатор не принимет в упор не видит класс RussianHen по всем проверкам, оказалось что единственный класс который набрал руками - "RussianHan". Вывод: проверяйте не только выходной текст, но и названия методов и классов которые указаны в условиях, а лучше копировать=). Задача не сложная, главное быть внимательным.
Вадим17 уровень, Москва
19 June, 15:26
В ступоре. Добавил в метод main класса Solution строку: System.out.println(hen.getDescription()); В итоге с той же Украиной на печать выходит: Я - курица.Моя страна - Ukraine.Я несу 55 яиц в месяц. Валидатор не принимает это условие: Классы RussianHen, UkrainianHen, MoldovanHen и BelarusianHen должны переопределять метод getDescription родительского класса, таким образом, чтобы возвращаемая ими строка имела вид: <getDescription() родительского класса> + < Моя страна - Sssss. Я несу N яиц в месяц.> где Sssss - название страны, а N - количество яиц в месяц. На количество пробелов, точек, все проверено во всех классах..что не устраивает - ума не приложу.
Вадим17 уровень, Москва
19 June, 16:11
Нашел. в моем случае валидатор не принимал решение если не было пробелов после точек.
Виктор Яценко15 уровень, Санкт-Петербург
25 June, 13:45
полностью согласен! у меня не было пробела перед "МОЯ...." и пробела после кол-ва яиц