Задать вопрос
@vrazbros

Почему в интерфейсе нельзя использовать protected или private?

Почему в интерфейсе нельзя использовать protected или private ? В абстрактном классе ведь можно...
  • Вопрос задан
  • 446 просмотров
Подписаться 1 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик расширенный
    14 месяцев
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
@Free_ze
Пишу комментарии в комментарии, а не в ответы
Интерфейс предназначен для декларирования внешнего API без уточнения реализации. В нем должны быть лишь публичные члены.

Вообще говоря, это искусственное ограничение, принятое для удобства. В том же C++ в качестве интерфейсов используются чисто виртуальные (абстрактные) классы без состояния. Наличие же специальной синтаксической конструкции (интерфейсов, как в C# или Java) позволяет явно подчеркнуть, что программиста там не ждет никакого сюрприза и этот тип используется как "клей" между другими классами.
Ответ написан
Комментировать
@res2001
Developer, ex-admin
Можно использовать и protected, тогда это будет еще и интерфейс для дочерних классов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы