Почему абстрактный класс может пропустить реализацию и декларацию методов имплементируемого интерфейса? Да, бывает и такое, спустя несколько лет кодинга заметил такую фичу, ранее никогда не использовал ее, и сейчас пока без понятия как бы и где ее можно использовать разумно. Ранее делал абстрактный класс или интерфейсики. Столкнулся я с этим в java public abstract class ArrayList implements List{ и тут я понял что можно скипнуть методы из интерфейса ибо имхо их там много.
Так вот, почему и зачем так? Как, где и когда это можно и стоит применять?

21 Авг 2019 в 07:00
244 +1
0
Ответы
1

Абстрактные классы в Java могут пропустить реализацию методов интерфейса, поскольку абстрактные классы могут иметь как частичную реализацию, так и абстрактные методы, которые оставляются для реализации в дочерних классах. Это позволяет создавать более гибкие и удобные для использования классы, чем простые интерфейсы.

В вашем примере с классом ArrayList, который реализует интерфейс List, вы, вероятно, видите, что в интерфейсе List определено большое количество методов, которые необходимо реализовать. Однако, в конкретном случае, класс ArrayList уже предоставляет реализацию большинства этих методов, так что нет необходимости их повторять в самом классе.

Это можно использовать тогда, когда вы хотите предоставить базовую реализацию для большинства методов интерфейса, но оставить возможность переопределить или добавить свою специфическую логику в дочерних классах.

Также это может быть полезно в ситуациях, когда вам нужно реализовать несколько интерфейсов, и разные интерфейсы имеют методы с одинаковыми названиями, но различной реализацией. В этом случае вы можете использовать абстрактный класс, чтобы предоставить общую реализацию для методов с одинаковыми названиями, и оставить наследникам реализацию для уникальных методов.

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

20 Апр в 13:10
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 028 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир