Что такое интерфейс в 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();
  }
 }
}

Объяснение кода: -

Здесь мы объясняем важные разделы кода

Пример интерфейса C#

  1. Сначала мы определяем интерфейс под названием «Guru99Interface». Обратите внимание, что ключевое слово «интерфейс» используется для определения интерфейса.
  2. Далее мы определяем методы, которые будут использоваться нашим интерфейсом. В данном случае мы определяем те же методы, которые использовались во всех предыдущих примерах. Обратите внимание, что интерфейс просто объявляет методы. Он не определяет код в них.
  3. Затем мы расширяем интерфейс нашего класса Guru99Tutorial. Здесь мы пишем код, определяющий различные методы, объявленные в интерфейсе. Этот вид кодирования обеспечивает следующее
    • Это гарантирует, что класс Guru99Tutorial добавляет только код, необходимый для методов SetTutorial и GetTutorial, и ничего больше.
    • Это также гарантирует, что интерфейс ведет себя как контракт. класс должен соблюдать договор. Итак, если в контракте сказано, что у него должно быть два метода, называемые «SetTutorial» и «GetTutorial», то так и должно быть.

Резюме

  • Интерфейс определяет контракт, которому будет соответствовать класс. Интерфейс определяет, какие операции может выполнять класс.