Hva er grensesnitt i C# med eksempel
Hva er grensesnitt i C#?
An Interface i C# brukes sammen med en klasse for รฅ definere en kontract som er en avtale om hva klassen skal gi til et program. Grensesnittet definerer hvilke operasjoner en klasse kan utfรธre. Et grensesnitt deklarerer egenskapene og metodene. Det er opp til klassen รฅ definere nรธyaktig hva metoden skal gjรธre.
La oss se pรฅ et eksempel pรฅ et grensesnitt ved รฅ endre klassene i vรฅr konsollapplikasjon. Merk at vi ikke kjรธrer koden fordi det ikke er noe som kan kjรธres ved hjelp av et grensesnitt.
Eksempel pรฅ C#-grensesnitt
La oss lage en grensesnittklasse. Klassen vil bli kalt ยซGuru99Interface.ยป Hovedklassen vรฅr vil deretter utvide det definerte grensesnittet. All koden mรฅ skrives i Program.cs-filen.
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();
}
}
}
Code Forklaring:-
Her forklarer vi de viktige delene av koden
- Vi definerer fรธrst et grensesnitt kalt ยซGuru99Interface.ยป Merk at nรธkkelordet ยซgrensesnittยป brukes til รฅ definere et grensesnitt.
- Deretter definerer vi metodene som skal brukes av grensesnittet vรฅrt. I dette tilfellet definerer vi de samme metodene som er brukt i alle tidligere eksempler. Merk at et grensesnitt bare erklรฆrer metodene. Den definerer ikke koden i dem.
- Sรฅ lager vi vรฅre Guru99Tutorial-klassen utvider grensesnittet. Her skriver vi koden som definerer de ulike metodene som er deklarert i grensesnittet. Denne typen koding oppnรฅr fรธlgende
- Det sikrer at klassen, Guru99Tutorial legger bare til koden som er nรธdvendig for metodene ยซSetTutorialยป og ยซGetTutorialยป og ingenting annet.
- Det sikrer ogsรฅ at grensesnittet oppfรธrer seg som en svindel.tract. Den klasse mรฅ overholde konvensjonentract. Sรฅ hvis ulempentracHvis det stรฅr at den skal ha to metoder kalt ยซSetTutorialยป og ยซGetTutorialยป, sรฅ er det slik det skal vรฆre.
Sammendrag
- Et grensesnitt definerer en ulempetracsom klassen vil overholde. Grensesnittet definerer hvilke operasjoner klassen kan utfรธre.

