Hva er grensesnitt i C# med eksempel
Hva er grensesnitt i C#?
An Interface i C# brukes sammen med en klasse for å definere en kontrakt som er en avtale om hva klassen skal gi til en applikasjon. Grensesnittet definerer hvilke operasjoner en klasse kan utføre. Et grensesnitt erklærer 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." Vår hovedklasse vil da 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(); } } }
Kodeforklaring:-
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.
- Vi får deretter vår Guru99Tutorial-klasse til å utvide grensesnittet. Det er her vi skriver koden som definerer de ulike metodene som er deklarert i grensesnittet. Denne typen koding oppnår følgende
- Det sikrer at klassen, Guru99Tutorial, bare legger til koden som er nødvendig for metodene "SetTutorial" og "GetTutorial" og ingenting annet.
- Det sikrer også at grensesnittet oppfører seg som en kontrakt. De klasse må forholde seg til kontrakten. Så hvis kontrakten sier at den skal ha to metoder kalt "SetTutorial" og "GetTutorial", så er det slik det skal være.
Sammendrag
- Et grensesnitt definerer en kontrakt som klassen skal overholde. Grensesnittet definerer hvilke operasjoner klassen kan utføre.