Страницы

Поиск по вопросам

пятница, 20 декабря 2019 г.

Что такое интерфейс в C#?

#c_sharp


Что такое интерфейс в C# и с чем его едят. Если можно, на русском. ))
Я вот так понимаю. Значит, если класс должен по-любому реализовать методы интерфейса,
то получается, все классы, что наследуют интерфейс, должны реализовать его методы?    


Ответы

Ответ 1



Интерфейс - это в каком-то смысле договор. В случае, если вы наследуете интерфейс, вы заключаете договор, по которому обязаны реализовать все методы этого интерфейса в своем классе. Если ваш класс не реализует какой-то метод, значит, он автоматически является абстрактным классом, и вы по нему не имеете права создавать объект, но можете этот класс наследовать в другом классе и реализовать метод уже в нем. Если ваш абстрактный класс уже реализовал какой-то метод интерфейса, то потомкам этого абстрактного класса эти методы реализовывать не обязательно. Интерфейсы часто используются в различных библиотеках, где методы ждут определенный объект, который в обязательном порядке должен реализовать метод от какого-то интерфейса.

Ответ 2



Здесь и здесь есть хорошие статьи по этому поводу. К вашему вопросу. Все методы в интерфейсе являются абстрактными, и любой класс (не абстрактный, спасибо gympi), наследующий тот или иной интерфейс, обязан реализовывать все его методы.

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

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