Что такое интерфейс в C# с примером
Что такое интерфейс в C#?
An Интерфейс в C# используется вместе с классом для определения контракта, который представляет собой соглашение о том, что класс будет предоставлять приложению. Интерфейс определяет, какие операции может выполнять класс. Интерфейс объявляет свойства и методы. Класс должен точно определить, что будет делать метод.
Давайте рассмотрим пример интерфейса путем изменения классов в нашем Консольном приложении. Обратите внимание: мы не будем запускать код, поскольку нет ничего, что можно было бы запустить с помощью интерфейса.
Пример интерфейса C#
Давайте создадим класс интерфейса. Класс будет называться «Guru99Interface». Затем наш основной класс расширит определенный интерфейс. Весь код необходимо записать в файл Program.cs.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { interface IGuru99Interface { void SetTutorial(int pID, string pName); String GetTutorial(); } class Guru99Tutorial : IGuru99Interface { protected int TutorialID; protected string TutorialName; public void SetTutorial(int pID, string pName) { TutorialID = pID; TutorialName = pName; } public String GetTutorial() { return TutorialName; } static void Main(string[] args) { Guru99Tutorial pTutor = new Guru99Tutorial(); pTutor.SetTutorial(1,".Net by Guru99"); Console.WriteLine(pTutor.GetTutorial()); Console.ReadKey(); } } }
Объяснение кода: -
Здесь мы объясняем важные разделы кода
- Сначала мы определяем интерфейс под названием «Guru99Interface». Обратите внимание, что ключевое слово «интерфейс» используется для определения интерфейса.
- Далее мы определяем методы, которые будут использоваться нашим интерфейсом. В данном случае мы определяем те же методы, которые использовались во всех предыдущих примерах. Обратите внимание, что интерфейс просто объявляет методы. Он не определяет код в них.
- Затем мы расширяем интерфейс нашего класса Guru99Tutorial. Здесь мы пишем код, определяющий различные методы, объявленные в интерфейсе. Этот вид кодирования обеспечивает следующее
- Это гарантирует, что класс Guru99Tutorial добавляет только код, необходимый для методов SetTutorial и GetTutorial, и ничего больше.
- Это также гарантирует, что интерфейс ведет себя как контракт. класс должен соблюдать договор. Итак, если в контракте сказано, что у него должно быть два метода, называемые «SetTutorial» и «GetTutorial», то так и должно быть.
Резюме
- Интерфейс определяет контракт, которому будет соответствовать класс. Интерфейс определяет, какие операции может выполнять класс.