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

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

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

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

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

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

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

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