Как использовать ограничитель доступа на интерфейсе? - PullRequest
0 голосов
/ 22 января 2019

Когда я пытался изменить ограничитель доступа на интерфейсе, то машинопись выдает ошибку. 'не может появиться в элементе типа.' Я удалил ограничитель доступа на интерфейсе и затем реализовал интерфейс. И попытался поменять ограничитель доступа на класс.

interface car {
  private speed: number;
}

это не сработало.

  interface car {
      speed: number;
    }

это сработало.

 class MyCar implements car {
      private speed: number;
    }

это не сработало.

class MyCar implements car {
  public speed: number;
}

это сработало.

Разве интерфейс не может иметь ограничитель доступа? или же Может ли реализованный интерфейс не иметь ограничитель доступа в классе? частный или охраняемый?

1 Ответ

0 голосов
/ 22 января 2019

Модификаторы доступа недопустимы на интерфейсах.Интерфейс - это открытые члены, которые предоставляет класс.Закрытый член - это деталь реализации, и поэтому он не должен иметь значения для открытого интерфейса, который предоставляет класс.

Это ограничение применяется к другим современным языкам ООП, C # и Java также не допускают модификаторы доступа на интерфейсах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...