Mis on liidese klass?
Liideseid kasutatakse koos klassidega lepingu määratlemiseks. Leping on kokkulepe selle kohta, mida klass taotlusele pakub.
Liides deklareerib omadused ja meetodid. Klass peab määratlema, mida meetod täpselt teeb.
Vaatame liidese näidet klasside muutmisega meie konsooli rakenduses. Pange tähele, et me ei käivita koodi, kuna liidese abil pole võimalik midagi käivitada.
Loome liidese klassi. Tund kannab nime "Guru99Interface". Seejärel laiendab meie põhiklass määratletud liidest. Kogu kood tuleb kirjutada faili Program.cs.
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();}}}
Koodi selgitus: -
Siinkohal selgitame koodi olulisi jaotisi
- Kõigepealt määratleme liidese nimega "Guru99Interface". Pange tähele, et liidese määratlemiseks kasutatakse märksõna "liides".
- Järgmisena määratleme meetodid, mida meie liides kasutab. Sel juhul määratleme samad meetodid, mida kasutatakse kõigis varasemates näidetes. Pange tähele, et liides deklareerib lihtsalt meetodid. See ei määra nendes koodi.
- Seejärel paneme oma Guru99Tutorial klassi liidest laiendama. Siin kirjutame koodi, mis määratleb liideses deklareeritud erinevad meetodid. Sellise kodeerimisega saavutatakse järgmine
- See tagab, et klass Guru99Tutorial lisab ainult koodi, mis on vajalik "SetTutorial" ja "GetTutorial" meetodite jaoks, mitte midagi muud.
- See tagab ka liidese käitumise nagu leping. Klass peab kinni pidama lepingust. Nii et kui lepingus on öeldud, et sellel peaks olema kaks meetodit nimega "SetTutorial" ja "GetTutorial", siis nii see peakski olema.
Kokkuvõte
- Liides määratleb lepingu, mida klass täidab. Liides määratleb, milliseid toiminguid klass saab teha.