ООП - книги

  • 8
  • Недоступна
В этой задаче будем создавать книги земных авторов Марка Твена и Агаты Кристи. Разумеется, с помощью классов MarkTwainBook и AgathaChristieBook, которые наследуется от Book. В этих классах нужно реализовать все абстрактные методы, а в родительском классе реализуйте тело метода getOutputByBookType.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (128)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Александр15 уровень, Москва
позавчера, 11:20
Коллеги, поясните пожалуйста, у меня возникала ошибка при выполнении, пока я явно не объявил конструктор по умолчанию в классе Book: public Book(){} //зачем это тут? public Book(String author){ this.author = author; } так и должно быть?
Natalya Guskova16 уровень, Москва
12 марта, 09:11
public AgathaChristieBook(String title) { super("Agatha Christie"); this.title = title; } из за вот этого 17 попыток((
Роберт17 уровень, Уфа
17 марта, 04:32
а как так вообще??? ни разу тако конструкции не видел
Natalya Guskova16 уровень, Москва
17 марта, 14:51
почитайте про вызов метода родительского класса и перегрузку
Natalya Guskova16 уровень, Москва
11 марта, 12:11
Какая то идиотская задача. Толком не понятно что надо делать. Все выводится корректно, но не проходит. 10 попыток все в пустую.
VladSL16 уровень, Уфа
5 марта, 08:07
Задачу решил (но только после прочтения комментариев). Долго не мог понять логику: зачем выносить присваивание переменной author в абстрактный класс Book? В данной задаче у нас каждый подкласс имеет строго определенного автора. Не проще сразу вместо super использовать this.author = "Mark Twain"? Или нас приучают на будущее, что так "в принципе" можно? Кто что думает?
Евгений19 уровень, Днепр
25 февраля, 18:49
Не люблю задачи на чистописание. Скучно.
Александр19 уровень, Казань
19 февраля, 08:14
1. Заведи у класов AgathaChristieBook и MarkTwainBook приватное поле title типа String 2. Конструктор класса должен запускать супер конструктор с именем автора, а также устанавливать поле title из переданного в него значения. 3. getTitle() должен устанавливаьт title текущего объекта. 4. getBook() возвращать текущий объект
Сергей С18 уровень, Минск
12 марта, 13:10
2. Конструктор класса должен запускать супер конструктор с именем автора, а также устанавливать поле title из переданного в него значения. Куда переданного и откуда???
Андрей20 уровень, Гомель
13 марта, 16:43
public MarkTwainBook(String title) {
            super("Mark Twain");
            this.title=title;
        }
Tamerlan16 уровень, Санкт-Петербург
16 февраля, 04:58
Меня одного немного путает, что автор это Том Сойер, а книга это Марк Твен?
Александр19 уровень, Казань
19 февраля, 08:16
Всё норм, ты просто накосячил в коде.
2. Конструктор класса должен запускать супер конструктор с именем автора, а также устанавливать поле title из переданного в него значения.
VDT16 уровень, Екатеринбург
8 февраля, 10:57
Просто не получается....
Alexandr Volchkov16 уровень, Киев
31 января, 15:42
Задача хорошая, а вот условие сбивает с толку. Подсказка: 1) Пишите классы внимательно следуя условию. Затык в первом конструкторе в том что надо добавить переменную String title перед конструктором чтоб все стало на место. 2) Для вывода на экран допишите проверку к какому классу принадлежит ваш объект и приравнивайте его к строке output. Через if пишите это там просто само просится.
S3R3N1TY29 уровень, Санкт-Петербург
15 января, 13:24
Ребята, почему компилятор пропустил, что мы не создали конструктор по-умолчанию, ведь если мы берем реализацию конструкторов в свои руки то должны написать конструктор без параметров тоже в коде.
public Book() {}
Прошу пояснить Еще понял, что абстрактный класс может реализовать свои конструкторы для инициализации своих переменных, а при вызове super() из класса потомок объект Абстрактного класса не создается- только поля инициализируются и все так ведь ?
CEO32 уровень
15 января, 16:06
а зачем нам книга без названия? мы в конструкторе передаем название книги