Страницы

Поиск по вопросам

понедельник, 26 ноября 2018 г.

Зачем добавлять в каждом наследнике интерфейсе те же самые методы

Зачем добавлять в каждом наследнике интерфейсе те же самые методы? Вот к примеру в Java, List интерфейс наследуется от Collection но объявлены те же самые методы что и в Collection, как будто я мог бы использовать интерфейс List исключая наследование от Collection


Ответ

Зачем добавлять в каждом наследнике интерфейсе те же самые методы
Если кратко, то для изменения javadoc методов.
Если подробнее, то: Это не обязательно - все зависит от того, изменяется контракт метода или нет. Контракт определяется сигнатурой метода и документацией к нему. В случае с Collection и его дочерними интерфейсами List, Set и т.д. контракт методов определяется в интерфейсе каждой из коллекций. Например, по контракту метод boolean add(E e) для Set исключает дубликаты, а List - нет.
Аналогичный вопрос на enSO

Комментариев нет:

Отправить комментарий