@vrazbros

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

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

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

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

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