Подтвердить что ты не робот

Почему нам нужно указывать имя параметра в интерфейсе?

Когда мы создаем методы интерфейса, не можем ли мы сделать что-то вроде java:

void interface_method(Integer,String, /* other parameter */);

Вместо этого я заметил, что нам также нужно указать имена параметров lile:

void interface_method(Integer i, String s);

Также разработчику интерфейса не нужно иметь такое же имя параметра, как в методе интерфейса.

Я нашел аналогичный вопрос о С# над здесь. Они упоминают один сценарий с именем параметра, но я не нашел в JavaScript никакой другой важной причины.

4b9b3361

Ответ 1

С технической точки зрения это было бы необязательно.

Я всегда воспринимал это как нормализацию синтаксиса и помощь в документации.

Таким образом:

  • Нет причин различать синтаксис метода класса и интерфейса и
  • Документация по умолчанию Javadoc может быть сгенерирована с использованием имени параметра (описательного!).

Ответ 2

Без имен параметров очень сложно различать параметры одного и того же типа.

double divide(double, double);

В Конвенции говорится, что вторым параметром будет делитель. Но с именованными параметрами он ясен и намного яснее. В свою очередь, документация может четко использовать имена, а вместо этого должна постоянно указывать "первый параметр" или "второй параметр" при попытке объяснить, как должен использоваться метод и что каждый параметр должен представлять.

Ответ 3

Мое занятие:

  • В спецификациях языка для параметров есть имена;

  • Интерфейс, являющийся интерфейсом, имена помогают сообщать о значении;

  • Интерфейс на самом деле не является прямым объявлением реализации, которое будет следовать, как в C/С++, поэтому сравнение не совсем корректно;