Для чего все-таки нужны интерфейсы?

4 июня, 14:23 Работа 3775 4
Не могу понять для чего нужны интерфейсы и как их грамотно юзать в интернетах написано до того что бы один метод описаный в интерфейсе (который подходит к двум классам) юзать , а почему нельзя этот метод создать так же в разных классах?
4 комментариев
Сортировка:
Добавить комментарий
Artur Voznesenskij
Artur Voznesenskij 2019, 4 июня, 18:36
0
Ремонтируем подводную лодку: крепление винта — 16-листовая резьба с 29 дюймами (только что выдумал). Не нужно каждый раз делать новую подводную лодку - нужно заменить винт согласно характеристикам. Какой винт будет - реализация. Необходимые параметры для того, чтобы винт подошел - и есть интерфейс.
Andrey Panchuk
Andrey Panchuk 2019, 4 июня, 17:33
0
Представь у тебя есть какой-нибудь метод, который принимает в агрументах объект, например, типа User doSomething(User user) Ты можешь передавать в этот метод любой объект типа User или объекты классов, наследующих User. Но можно сделать еще гибче, например описать некий интерфейс UserInteface и указать в определении метода его: doSomething(UserInterface user) Теперь ты можешь передавать в метод объект любого класса, который реализует интерфейс UserInterface. Разумеется, изначальный класс User из этого примера тоже должен реализовывать этот интерфейс. То есть, указывая в типе данных параметра какой-то конкретный класс, ты привязываешься к этому классу или его наследникам, а указывая интерфейс ты привязываешься к этому интерфейсу, который может реализовать любой другой класс, связность уменьшается, а это хорошо. А если ты в этих, еще не написанных классах будешь просто писать нужные методы, то не сможешь объект этих классов использовать, тип данных то будет другой, хотя методы и будут описаны. И, как уже написали выше, один класс может реализовывать несколько интерфейсов.
Nikolas
Nikolas 2019, 4 июня, 16:18
0
Костыль для множественного наследования.
Viktor Kravchenko
Viktor Kravchenko 2019, 4 июня, 15:43
0
Нужны для того чтобы общаться с разными объектами одним и тем же способом.

IT Новости

Смотреть все