Mi az interfész a C#-ban példával
Mi az interfész a C#-ban?
An Felület a C#-ban egy osztállyal együtt egy szerződés definiálására szolgál, amely megegyezik arról, hogy az osztály mit biztosít az alkalmazás számára. Az interfész meghatározza, hogy egy osztály milyen műveleteket hajthat végre. Egy interfész deklarálja a tulajdonságokat és a metódusokat. Az osztály feladata, hogy pontosan meghatározza, mit fog tenni a metódus.
Nézzünk egy példát egy interfészre a konzolalkalmazásunk osztályainak megváltoztatásával. Ne feledje, hogy nem fogjuk futtatni a kódot, mert semmi sem futtatható interfész segítségével.
C# interfész példa
Hozzunk létre egy interfész osztályt. Az óra neve „Guru99Interface” lesz. A fő osztályunk ezután kiterjeszti a meghatározott felületet. Az összes kódot be kell írni a Program.cs fájlba.
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(); } } }
Kód magyarázata: -
Itt elmagyarázzuk a kód fontos részeit
- Először meghatározunk egy „Guru99Interface” nevű interfészt. Vegye figyelembe, hogy az „interfész” kulcsszó az interfész meghatározására szolgál.
- Ezután meghatározzuk a felületünk által használt metódusokat. Ebben az esetben ugyanazokat a módszereket határozzuk meg, amelyeket az összes korábbi példában használtunk. Vegye figyelembe, hogy egy interfész csak deklarálja a metódusokat. Nem határozza meg a kódot bennük.
- Ezután a Guru99Tutorial osztályunk kiterjeszti a felületet. Ide írjuk azt a kódot, amely meghatározza az interfészen deklarált különféle metódusokat. Ez a fajta kódolás a következőket éri el
- Ez biztosítja, hogy a Guru99Tutorial osztály csak azt a kódot adja hozzá, amely a „SetTutorial” és a „GetTutorial” metódusaihoz szükséges, és semmi mást.
- Azt is biztosítja, hogy az interfész szerződésszerűen viselkedjen. A osztály be kell tartania a szerződést. Tehát ha a szerződés azt írja ki, hogy két módszert kell tartalmaznia, a „SetTutorial” és a „GetTutorial” néven, akkor ennek így kell lennie.
Összegzésként
- Egy interfész meghatároz egy szerződést, amelyet az osztály betart. Az interfész meghatározza, hogy milyen műveleteket végezhet az osztály.