Должны ли все методы в интерфейсах Java иметь резервные значения по умолчанию?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Должны ли все методы в интерфейсах Java иметь резервные значения по умолчанию?

Сообщение Anonymous »

Если я создаю интерфейс с тремя методами: a, b, c, то все классы, реализующие этот интерфейс, должны добавить для них тело метода. Это нормально, пока я работаю в рамках одного проекта. Однако когда я публикую свою библиотеку, я теряю контроль над тем, как люди используют интерфейсы: если в будущем я добавлю к интерфейсу метод d, то весь написанный ранее код потерпит неудачу, поскольку существующие классы его не реализовали. Эту проблему можно решить путем обновления этих библиотек, но если они публикуются сторонними людьми, это невозможно (если только они не имеют открытый исходный код), что приводит к сбою всего процесса.
Решение может быть< /p>
  • для создания дополнительного интерфейса при добавлении нового метода
  • или для добавления метода с пустой реализацией, которая просто возвращает значение null/void, чтобы старый код оставался совместимым.
Новые интерфейсы — это хорошо, но тогда это означает, что никакие новые функции не могут фактически включать новые методы в интерфейс не идеален.
Сталкивались ли вы с этой проблемой раньше и решили использовать стандартный подход к пустой реализации?

Подробнее здесь: https://stackoverflow.com/questions/790 ... k-defaults
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»