Vad är gränssnitt i C# med exempel

Vad är Interface i C#?

An Gränssnitt i C# används tillsammans med en klass för att definiera ett kontrakt som är en överenskommelse om vad klassen ska ge till en applikation. Gränssnittet definierar vilka operationer en klass kan utföra. Ett gränssnitt deklarerar egenskaperna och metoderna. Det är upp till klassen att definiera exakt vad metoden ska göra.

Låt oss titta på ett exempel på ett gränssnitt genom att ändra klasserna i vår konsolapplikation. Observera att vi inte kommer att köra koden eftersom det inte finns något som kan köras med ett gränssnitt.

Exempel på C#-gränssnitt

Låt oss skapa en gränssnittsklass. Klassen kommer att heta "Guru99Interface." Vår huvudklass kommer då att utöka det definierade gränssnittet. All kod måste skrivas i filen 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();
  }
 }
}

Kodförklaring:-

Här förklarar vi de viktiga delarna av koden

Exempel på C#-gränssnitt

  1. Vi definierar först ett gränssnitt som heter "Guru99Interface." Observera att nyckelordet "gränssnitt" används för att definiera ett gränssnitt.
  2. Därefter definierar vi metoderna som kommer att användas av vårt gränssnitt. I det här fallet definierar vi samma metoder som används i alla tidigare exempel. Observera att ett gränssnitt bara deklarerar metoderna. Den definierar inte koden i dem.
  3. Vi får sedan vår Guru99Tutorial-klass att utöka gränssnittet. Det är här vi skriver koden som definierar de olika metoderna som deklareras i gränssnittet. Denna typ av kodning uppnår följande
    • Det säkerställer att klassen, Guru99Tutorial, bara lägger till koden som är nödvändig för metoderna "SetTutorial" och "GetTutorial" och inget annat.
    • Det säkerställer också att gränssnittet beter sig som ett kontrakt. De klass måste hålla sig till avtalet. Så om kontraktet säger att det ska ha två metoder som kallas "SetTutorial" och "GetTutorial", så är det så det ska vara.

Sammanfattning

  • Ett gränssnitt definierar ett kontrakt som klassen kommer att följa. Gränssnittet definierar vilka operationer som klassen kan utföra.