Какво е интерфейс в C# с пример

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

An Interface в 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“ и нищо друго.
    • Той също така гарантира, че интерфейсът се държи като договор. The клас трябва да спазва договора. Така че, ако договорът казва, че трябва да има два метода, наречени „SetTutorial“ и „GetTutorial“, тогава така трябва да бъде.

Oбобщение

  • Интерфейсът определя договор, който класът ще спазва. Интерфейсът определя какви са операциите, които класът може да изпълнява.