Što je klasa sučelja?
Sučelja se koriste zajedno s klasama za definiranje onoga što je poznato kao ugovor. Ugovor je sporazum o tome što će razred pružiti prijavi.
Sučelje deklarira svojstva i metode. Na klasi je da točno definira što će metoda raditi.
Pogledajmo primjer sučelja promjenom klasa u našoj aplikaciji Console. Imajte na umu da nećemo pokretati kod jer se ništa ne može pokrenuti pomoću sučelja.
Stvorimo klasu sučelja. Predavanje će se zvati "Guru99Interface". Tada će naša glavna klasa proširiti definirano sučelje. Sav kôd mora biti zapisan u datoteku 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();}}}
Objašnjenje koda: -
Ovdje objašnjavamo važne odjeljke koda
- Prvo definiramo sučelje nazvano "Guru99Interface". Imajte na umu da se ključna riječ "sučelje" koristi za definiranje sučelja.
- Dalje, definiramo metode koje će koristiti naše sučelje. U ovom slučaju definiramo iste metode koje se koriste u svim ranijim primjerima. Imajte na umu da sučelje samo deklarira metode. Ne definira kod u njima.
- Zatim činimo da naša klasa Guru99Tutorial proširuje sučelje. Ovdje pišemo kod koji definira različite metode deklarirane u sučelju. Ovakvim kodiranjem postiže se sljedeće
- Osigurava da klasa, Guru99Tutorial, dodaje samo kod koji je neophodan za metode "SetTutorial" i "GetTutorial" i ništa drugo.
- Također osigurava da se sučelje ponaša poput ugovora. Razred se mora pridržavati ugovora. Dakle, ako ugovor kaže da bi trebao imati dvije metode pod nazivom "SetTutorial" i "GetTutorial", onda bi to trebalo biti.
Sažetak
- Sučelje definira ugovor s kojim će se klasa pridržavati. Sučelje definira koje su operacije koje klasa može izvesti.