ООП - книги

  • 8
  • Недоступна
В этой задаче будем создавать книги земных авторов Марка Твена и Агаты Кристи. Разумеется, с помощью классов MarkTwainBook и AgathaChristieBook, которые наследуется от Book. В этих классах нужно реализовать все абстрактные методы, а в родительском классе реализуйте тело метода getOutputByBookType.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (182)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Zhenya Kononov15 уровень, Санкт-Петербург
позавчера, 11:34
Чем дальше, тем тупее себя чувствую. Сначала нагородил непонятно что в конструкторе, пробовал писать два конструктора (для author и title), потом пытался использовать оператор super, передавая ему переменную author... Потом начались танцы с getBook и getTitle... А последние пункты пришлось конкретно списать. Радует хотя бы то, что я понимаю, что написано) но сам написать не могу(
Konstantin Sergeevich20 уровень, Новосибирск
14 августа, 07:14
Я конечно все понимаю, но не пропускать задачу, за то, что конструктор был с доступом по умолчанию, а не public, это как то злобно, что ли
zuFrost16 уровень
6 августа, 17:46
Код не проходит валидацию, если модификатор доступа конструкторов MarkTwainBook и AgathaChristieBook отличается от объявленного в классе. В классе - public в конструкторе ни какой не ставил, т.е. получается - «package» или «package private». Прошел валидацию, только после установки везде public. Программа работает корректно, но валидатор не проходит.
Mikhail16 уровень, Москва
6 августа, 07:37
А вот для меня не очевидно, зачем в конструкторе дочернего класса, например MarkTwainBook, вызывать конструктор родительского класса Book?
Илья17 уровень
7 августа, 08:42
Насколько я понял, это из-за того, что в конструкторе дочернего класса всегда вызывается конструктор класса-родителя. А так как дефолтного контруктора в родителе нет, нужно явно вызвать имеющийся с параметром типа стринг
Анатолий15 уровень, Харьков
30 июля, 13:33
Имхо, задача не сложная, просто объёмная. 1. Внимательно читаем условия. 2. Пишем код. 3. Проверяем соответствует ли код требованиям. 4. PROFIT!
Сергей Белов16 уровень, Москва
24 июля, 16:46
немало крови попила this.задача)
Юра16 уровень, Киев
24 июля, 16:03
Странная задача. В абстрактном классе нам нужно знать значение потомков что бы вывести на экран. Логичнее реализацию метода getOutputByBookType отдать потомкам.
13 июля, 05:17
1. class Book в нем переопределен метод toString() {return getOutputByBookType();} 2. Далее смотрим как устроен метод getOutputByBookType(); 3. Видим такую конструкцию getBook().getTitle() . В каких случаях она возможна? Скорее всего когда Объект.метод(); 4. Так как getBook() возвращает Объект, то все ок. this в данном случае текущий объект. MarkTwainBook."Tom Sawyer" например
Zhenya Kononov15 уровень, Санкт-Петербург
позавчера, 11:36
Вот это очень толковый момент: "Видим такую конструкцию getBook().getTitle() . В каких случаях она возможна? Скорее всего когда Объект.метод(); " реально ведь так и есть, и отсюда можно распутать все решение))
Igor Zip18 уровень, Одесса
11 июля, 13:17
Не пойму зачем вообще метод getOutputByBookType? Как выводятся данные?
13 июля, 05:19
System.out.println(books); при таком выводе мы печатаем Объект, печатает его переопределенный метод toString(), который по цепочке вызывает все остальное.
Евгений18 уровень, Санкт-Петербург
11 июля, 11:06
Все таки надо читать ТЗ до конца, вместо title назвал переменную bookName - минус одна попытка.