Co to jest interfejs w języku C# z przykładem

Co to jest interfejs w C#?

An Interfejs w C# jest używany wraz z klasą do definiowania kontraktu, który jest umową na temat tego, co klasa zapewni aplikacji. Interfejs definiuje, jakie operacje może wykonać klasa. Interfejs deklaruje właściwości i metody. To klasa musi dokładnie zdefiniować, co metoda zrobi.

Przyjrzyjmy się przykładowi interfejsu poprzez zmianę klas w naszej aplikacji Konsola. Pamiętaj, że nie będziemy uruchamiać kodu, ponieważ nie ma niczego, co można uruchomić za pomocą interfejsu.

Przykład interfejsu C#

Stwórzmy klasę interfejsu. Klasa będzie nosiła nazwę „Guru99Interface”. Nasza główna klasa rozszerzy następnie zdefiniowany interfejs. Cały kod należy zapisać w pliku 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();
  }
 }
}

Wyjaśnienie kodu: -

Tutaj wyjaśniamy ważne sekcje kodu

Przykład interfejsu C#

  1. Najpierw definiujemy interfejs o nazwie „Guru99Interface”. Należy pamiętać, że słowo kluczowe „interfejs” służy do zdefiniowania interfejsu.
  2. Następnie definiujemy metody, które będą używane przez nasz interfejs. W tym przypadku definiujemy te same metody, które są używane we wszystkich wcześniejszych przykładach. Należy zauważyć, że interfejs po prostu deklaruje metody. Nie definiuje w nich kodu.
  3. Następnie rozszerzamy interfejs naszą klasą Guru99Tutorial. Tutaj piszemy kod, który definiuje różne metody zadeklarowane w interfejsie. Ten rodzaj kodowania osiąga następujące
    • Zapewnia to, że klasa Guru99Tutorial doda tylko kod niezbędny dla metod „SetTutorial” i „GetTutorial” i nic więcej.
    • Zapewnia również, że interfejs zachowuje się jak kontrakt. The klasa musi dotrzymać umowy. Jeśli więc umowa mówi, że powinna mieć dwie metody zwane „SetTutorial” i „GetTutorial”, to tak powinno być.

Podsumowanie

  • Interfejs definiuje kontrakt, który będzie przestrzegany przez klasę. Interfejs definiuje, jakie operacje może wykonywać klasa.