Čo je to trieda rozhrania?
Rozhrania sa spolu s triedami používajú na definovanie toho, čo sa nazýva zmluva. Zmluva je dohoda o tom, čo trieda poskytne žiadosti.
Rozhranie deklaruje vlastnosti a metódy. Je na triede, aby presne definovala, čo metóda bude robiť.
Pozrime sa na príklad rozhrania zmenou tried v našej aplikácii Console. Upozorňujeme, že kód nebudeme spúšťať, pretože pomocou rozhrania nie je možné nič spustiť.
Vytvorme triedu rozhrania. Trieda sa bude volať „Guru99Interface“. Naša hlavná trieda potom rozšíri definované rozhranie. Celý kód je potrebné zapísať do súboru 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();}}}
Vysvetlenie kódu: -
Tu vysvetľujeme dôležité časti kódu
- Najprv definujeme rozhranie s názvom „Guru99Interface“. Upozorňujeme, že na definovanie rozhrania sa používa kľúčové slovo „interface“.
- Ďalej definujeme metódy, ktoré bude naše rozhranie používať. V tomto prípade definujeme rovnaké metódy, ktoré sa používajú vo všetkých predchádzajúcich príkladoch. Upozorňujeme, že rozhranie iba deklaruje metódy. Nedefinuje v nich kód.
- Potom urobíme, aby naša trieda Guru99Tutorial rozšírila rozhranie. Tu napíšeme kód, ktorý definuje rôzne metódy deklarované v rozhraní. Tento druh kódovania dosahuje nasledujúce
- Zaisťuje, že trieda, Guru99Tutorial, pridá iba kód, ktorý je potrebný pre metódy „SetTutorial“ a „GetTutorial“ a nič iné.
- Zaisťuje tiež, že sa rozhranie chová ako zmluva. Trieda musí dodržiavať zmluvu. Ak teda zmluva hovorí, že by mala mať dve metódy nazývané „SetTutorial“ a „GetTutorial“, potom by to tak malo byť.
Zhrnutie
- Rozhranie definuje zmluvu, ktorú bude trieda dodržiavať. Rozhranie definuje, aké operácie môže trieda vykonávať.