Wat is Interface in C# met voorbeeld
Wat is interface in C#?
An Interface in C# wordt samen met een klasse gebruikt om een contract te definiëren, wat een overeenkomst is over wat de klasse aan een applicatie zal leveren. De interface definieert welke bewerkingen een klasse kan uitvoeren. Een interface declareert de eigenschappen en methoden. Het is aan de klasse om precies te definiëren wat de methode zal doen.
Laten we een voorbeeld bekijken van een interface door de klassen in onze Console-applicatie te wijzigen. Houd er rekening mee dat we de code niet zullen uitvoeren, omdat er niets is dat via een interface kan worden uitgevoerd.
C#-interfacevoorbeeld
Laten we een interfaceklasse maken. De klasse heet “Guru99Interface.” 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 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-uitleg: -
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 worden gebruikt. In dit geval definiëren we dezelfde methoden die in alle eerdere voorbeelden worden gebruikt. Let op: een interface declareert alleen de methoden. Het definieert niet de code erin.
- Vervolgens laten we onze Guru99Tutorial-klasse de interface uitbreiden. Hier schrijven we de code die de verschillende methoden definieert die in de interface zijn gedeclareerd. Dit soort codering bereikt het volgende
- Het zorgt ervoor dat de klasse, Guru99Tutorial, alleen de code toevoegt die nodig is voor de methoden “SetTutorial” en “GetTutorial” en niets anders.
- Het zorgt er ook voor dat de interface zich als een contract gedraagt. De klasse moet zich aan het contract houden. Dus als het contract zegt dat er twee methoden moeten zijn genaamd “SetTutorial” en “GetTutorial”, dan is dat hoe het zou moeten zijn.
Samenvatting
- Een interface definieert een contract waaraan de klasse zal voldoen. De interface definieert welke bewerkingen de klasse kan uitvoeren.