Вопросы

Евгений Орехов
Зачем нужны константы?

Зачем нужны констаны если можно использовать статические поля или поля только с гетором и инициализацией в конструкторе?

Suren Srapyan
Suren Srapyan 29 января 2015 в 23:11

readonly поля все равно инициализируються по время выполнения а константы во время компиляции.В коде где программист использует константы,во время компиляции вместо этих констант вставляется само значение.Это немного ускоряет программу

Dima VVV
Зачем нужны интерфейсы в ООП.C#
Собственно,зачем они нужны?Зачем нужны методы без реализации,если их все-равно придется реализовывать в классе-наследнике?Где же тут наследование тогда?Почему бы просто не описывать данный метод в каждом классе-наследнике?Разве это займет больше времени?
Илья Толлю
Илья Толлю 16 января 2014 в 08:59

Это даёт гибкость, необходимую при коллективной разработке, или при тестировании (когда можно "рабочую" реализацию интерфейса подменить тестовой для), или при использовании фреймворков. Иногда интерфейсы, не содержащие методов, используются для обозначения того, что класс имеет определённую особенность. Иногда через интерфейсы реализуются удобности языка. Например, в Java к любому классу, реализующему интерфейс Iterable, можно применить конструкцию for (Item item in container). А вообще, в двух словах ответить сложно. Смысл интерфейсов становится понятнее при знакомстве с Best practices для конкретного языка.