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

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

Почему в интерфейсе нельзя использовать protected или private ? В абстрактном классе ведь можно...
  • Вопрос задан
  • 446 просмотров
Подписаться 1 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • ProductStar
    Python: навык ООП и функционального программирования
    1 месяц
    Далее
  • Учебный центр IBS
    ARC-005 Аналитические шаблоны
    1 неделя
    Далее
  • Skillfactory
    Разработчик игр на Unity
    18 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
@Free_ze
Пишу комментарии в комментарии, а не в ответы
Интерфейс предназначен для декларирования внешнего API без уточнения реализации. В нем должны быть лишь публичные члены.

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

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

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