Hvad er en interface klasse?
Grænseflader bruges sammen med klasser til at definere, hvad der er kendt som en kontrakt. En kontrakt er en aftale om, hvad klassen vil give til en ansøgning.
En grænseflade erklærer egenskaberne og metoderne. Det er op til klassen at definere nøjagtigt, hvad metoden vil gøre.
Lad os se på et eksempel på en grænseflade ved at ændre klasser i vores konsolapplikation. Bemærk, at vi ikke kører koden, fordi der ikke er noget, der kan køres ved hjælp af en grænseflade.
Lad os oprette en interface-klasse. Klassen vil blive kaldt "Guru99Interface." Vores hovedklasse udvider derefter den definerede grænseflade. Al koden skal skrives i Program.cs-filen.
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoApplication{interface Guru99Interface{void SetTutorial(int pID, string pName);String GetTutorial();}class Guru99Tutorial : Guru99Interface{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();}}}
Kode Forklaring: -
Her forklarer vi de vigtige dele af koden
- Vi definerer først en grænseflade kaldet "Guru99Interface." Bemærk, at nøgleordet "interface" bruges til at definere en interface.
- Dernæst definerer vi de metoder, der skal bruges af vores grænseflade. I dette tilfælde definerer vi de samme metoder, som bruges i alle tidligere eksempler. Bemærk, at en grænseflade kun erklærer metoderne. Det definerer ikke koden i dem.
- Derefter får vi vores Guru99Tutorial-klasse til at udvide grænsefladen. Her skriver vi koden, der definerer de forskellige metoder, der er angivet i grænsefladen. Denne slags kodning opnår følgende
- Det sikrer, at klassen Guru99Tutorial kun tilføjer den kode, der er nødvendig for metoderne "SetTutorial" og "GetTutorial" og intet andet.
- Det sikrer også, at grænsefladen opfører sig som en kontrakt. Klassen skal overholde kontrakten. Så hvis kontrakten siger, at den skal have to metoder kaldet "SetTutorial" og "GetTutorial", så skal det være.
Resumé
- En grænseflade definerer en kontrakt, som klassen vil overholde. Interfacet definerer, hvilke operationer klassen kan udføre.