“Методы подставки”

177
25 сентября 2017, 01:43

На скрине приведен раздел из книги Блинова "Java промышленное программирование".

Не указано в каком отношении находится класс Course с классом CourseHelper. Это ошибка и автор просто забыл добавить, что CourseHelper extends Course или я что-то понимаю не так?

Answer 1

Происходит следующее

  • BaseCourse наследуется от Course
  • BaseCourseHelper наследуется от CourseHelper
  • CourseHelper в методе getCourse возвращает экземпляр Course
  • BaseCourseHelper в методе getCourse возвращает экземпляр BaseCourse

Собственно, автор учебника показывает возможность в дочернем классе (BaseCourseHelper) переопределять в методе (getCourse) возвращаемый тип (Course), но в пределах его дочерних классов (BaseCourse).

Answer 2

Скорее всего, CourseHelper не связан с Course отношением наследования. Они просто взаимосвязаны, по есть класс написан в "помощь", чтобы с ним обращаться было легче. BaseCourseHelper наследует CourseHelper, это то, что можно вывести из данного кода.

Answer 3

Course это подкласс класса CourseHelper

READ ALSO
war файл, установка приложения на сервер

war файл, установка приложения на сервер

Доброго времени суток! Создал проект в "идее" и пытаюсь залить его на сервер сейчас, согласно этой инструкции: инструкция

293
Сортировка списка по другому списку

Сортировка списка по другому списку

Есть LinkedList<ClassXXX>, ClassXXX содержит множество полей, одно из которых Integer Id

233
Почему ArrayList.remove(i) в цикле ведёт к квадратичному времени выполнения?

Почему ArrayList.remove(i) в цикле ведёт к квадратичному времени выполнения?

На вопрос удаление каждого К-того элемента из arraylist по кругу был предложен ответ:

307