Wat is een interfaceklasse?
Interfaces worden samen met klassen gebruikt om een zogenaamd contract te definiëren. Een contract is een afspraak over wat de klas aan een aanvraag zal opleveren.
Een interface verklaart de eigenschappen en methoden. Het is aan de klas om precies te definiëren wat de methode zal doen.
Laten we een voorbeeld van een interface bekijken door de klassen in onze consoletoepassing te wijzigen. Merk op dat we de code niet zullen uitvoeren omdat er niets is dat kan worden uitgevoerd met een interface.
Laten we een interfaceklasse maken. De klas zal "Guru99Interface" heten. Onze hoofdklasse zal dan de gedefinieerde interface uitbreiden. Alle code moet in het Program.cs-bestand worden geschreven.
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();}}}
Code Verklaring: -
Hier leggen we de belangrijke delen van de code uit
- We definiëren eerst een interface genaamd "Guru99Interface." Merk op dat het trefwoord "interface" wordt gebruikt om een interface te definiëren.
- Vervolgens definiëren we de methoden die door onze interface zullen worden gebruikt. In dit geval definiëren we dezelfde methoden die in alle eerdere voorbeelden zijn gebruikt. Merk op dat een interface alleen de methoden declareert. Het definieert de code erin niet.
- Vervolgens laten we onze klasse Guru99Tutorial de interface uitbreiden. Hier schrijven we de code die de verschillende methoden definieert die in de interface zijn gedeclareerd. Met dit soort codering wordt het volgende bereikt
- Het zorgt ervoor dat de klasse, Guru99Tutorial, alleen de code toevoegt die nodig is voor de methoden van "SetTutorial" en "GetTutorial" en niets anders.
- Het zorgt er ook voor dat de interface zich gedraagt als een contract. De klas moet zich aan het contract houden. Dus als het contract zegt dat het twee methoden zou moeten hebben genaamd "SetTutorial" en "GetTutorial", dan is dat hoe het zou moeten zijn.
Overzicht
- Een interface definieert een contract waaraan de klas zal voldoen. De interface definieert wat de bewerkingen zijn die de klasse kan uitvoeren.