суббота, 1 июля 2017 г.

День десятый - немного об интерфейсах

Интерфейс позволяет объявлять методы отдельно от класса.
Класс имплиментирует интерфейс со всеми содержащимися в нём методами.
Класс может имплиментировать несколько интерфейсов одновременно.
Каждый метод, объявленный в интерфейсе автоматически становится public.

Как работает интерфейс?
Допустим, есть два класса Product_1 и Product_2, для которых нужно посчитать скидку. Но для каждого продукта эту скидку нужно посчитать по разному. Вместо того, чтобы в каждом классе объявлять метод подсчёта скидки, например calcDiscount( ), мы создаём интерфейс с этим методом и имплиментируем его в каждый класс.

Такой подход позволяет делать дизайн программы более чистым, а код более читаемым и ещё плюс к этому реализовывать полиморфизм.

Кроме методов интерфейс также может содержать финальные переменные, которые автоматически становятся public static. Если в будущем нужно будет изменить значение этих переменных, то делается это в интерфейсе, в котором они объявлены.

Интерфейсы-маркеры - не объявляют никаких методов.

Комментариев нет:

Отправить комментарий