Это даёт гибкость, необходимую при коллективной разработке, или при тестировании (когда можно "рабочую" реализацию интерфейса подменить тестовой для), или при использовании фреймворков. Иногда интерфейсы, не содержащие методов, используются для обозначения того, что класс имеет определённую особенность. Иногда через интерфейсы реализуются удобности языка. Например, в Java к любому классу, реализующему интерфейс Iterable, можно применить конструкцию for (Item item in container). А вообще, в двух словах ответить сложно. Смысл интерфейсов становится понятнее при знакомстве с Best practices для конкретного языка. |
Вопросы
Евгений Орехов | Репутация: 0 (Без голоса)
4 июля 2014 в 10:21
Dima VVV | Репутация: 0 (Без голоса)
2 июня 2013 в 22:21
readonly поля все равно инициализируються по время выполнения а константы во время компиляции.В коде где программист использует константы,во время компиляции вместо этих констант вставляется само значение.Это немного ускоряет программу