Mi az az interfészosztály?
Az interfészeket az osztályokkal együtt használják, hogy meghatározzák az úgynevezett szerződést. A szerződés egy megállapodás arról, hogy mit nyújt az osztály egy alkalmazás számára.
Egy felület deklarálja a tulajdonságokat és a módszereket. Az osztály feladata meghatározni, hogy pontosan mit fog tenni a módszer.
Nézzünk meg egy felületet a Console alkalmazás osztályainak megváltoztatásával. Vegye figyelembe, hogy nem fogjuk futtatni a kódot, mert semmit nem lehet futtatni egy felület használatával.
Hozzunk létre egy interfész osztályt. Az osztály neve "Guru99Interface" lesz. Ezután fő osztályunk kiterjeszti a meghatározott interfészt. 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 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();}}}
Kód Magyarázat: -
Itt elmagyarázzuk a kód fontos szakaszait
- Először definiálunk egy "Guru99Interface" nevű felületet. Ne feledje, hogy az "interfész" kulcsszó egy interfész meghatározására szolgál.
- Ezután meghatározzuk azokat a módszereket, amelyeket az interfészünk fog használni. Ebben az esetben ugyanazokat a módszereket definiáljuk, amelyeket az összes korábbi példában használunk. Ne feledje, hogy egy interfész csak deklarálja a módszereket. Nem határozza meg a kódot bennük.
- Ezután a Guru99Tutorial osztályunkat kiterjesztjük a felületre. Itt írjuk azt a kódot, amely meghatározza a felületen deklarált különféle módszereket. Ez a fajta kódolás a következőket éri el
- Biztosítja, hogy a Guru99Tutorial osztály csak a "SetTutorial" és a "GetTutorial" metódusaihoz szükséges kódot adja hozzá, és semmi mást.
- Biztosítja azt is, hogy az interfész szerződésszerűen viselkedjen. Az osztálynak be kell tartania a szerződést. Tehát, ha a szerződés azt írja, hogy két módszerrel kell rendelkeznie, az úgynevezett "SetTutorial" és "GetTutorial", akkor ennek így kell lennie.
Összegzés
- Az interfész meghatározza azt a szerződést, amelynek az osztály megfelel. Az interfész meghatározza, mely műveleteket hajthatja végre az osztály.