Što je sučelje u C# s primjerom

Što je sučelje u C#?

An Sučelje u C# se koristi zajedno s klasom za definiranje ugovora koji je sporazum o tome što će klasa pružiti aplikaciji. Sučelje definira koje operacije klasa može izvoditi. Sučelje deklarira svojstva i metode. Na klasi je da točno definira što će metoda raditi.

Pogledajmo primjer sučelja mijenjanjem klasa u našoj Konzolnoj aplikaciji. Imajte na umu da nećemo pokretati kod jer ne postoji ništa što se može pokrenuti pomoću sučelja.

Primjer C# sučelja

Kreirajmo klasu sučelja. Klasa će se zvati "Guru99Interface." Naša glavna klasa će tada proširiti definirano sučelje. Sav kôd potrebno je napisati u datoteci 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();
  }
 }
}

Objašnjenje koda:-

Ovdje objašnjavamo važne dijelove koda

Primjer C# sučelja

  1. Prvo definiramo sučelje pod nazivom "Guru99Interface." Imajte na umu da se ključna riječ "sučelje" koristi za definiranje sučelja.
  2. Zatim definiramo metode koje će koristiti naše sučelje. U ovom slučaju definiramo iste metode koje su korištene u svim ranijim primjerima. Imajte na umu da sučelje samo deklarira metode. Ne definira kod u njima.
  3. Zatim našu klasu Guru99Tutorial proširujemo sučelje. Ovdje pišemo kod koji definira različite metode deklarirane u sučelju. Ova vrsta kodiranja postiže sljedeće
    • Osigurava da klasa, Guru99Tutorial, dodaje samo kod koji je neophodan za metode "SetTutorial" i "GetTutorial" i ništa drugo.
    • Također osigurava da se sučelje ponaša kao ugovor. The razred mora se pridržavati ugovora. Dakle, ako ugovor kaže da treba imati dvije metode pod nazivom "SetTutorial" i "GetTutorial", onda bi tako trebalo biti.

rezime

  • Sučelje definira ugovor kojeg će se klasa pridržavati. Sučelje definira koje su to operacije koje klasa može izvoditi.