Što je sučelje u C# s primjerom
Što je sučelje u C#?
An Sučelje u C# se koristi zajedno s klasom za definiranje ugovora koji je sporazum o tome što će klasa pružiti aplikaciji. Sučelje definira koje operacije klasa može izvoditi. Sučelje deklarira svojstva i metode. Na klasi je da točno definira što će metoda raditi.
Pogledajmo primjer sučelja mijenjanjem klasa u našoj Konzolnoj aplikaciji. Imajte na umu da nećemo pokretati kod jer ne postoji ništa što se može pokrenuti pomoću sučelja.
Primjer C# sučelja
Kreirajmo klasu sučelja. Klasa će se zvati "Guru99Interface." Naša glavna klasa će tada proširiti definirano sučelje. Sav kôd potrebno je napisati u datoteci Program.cs.
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(); } } }
Objašnjenje koda:-
Ovdje objašnjavamo važne dijelove koda
- Prvo definiramo sučelje pod nazivom "Guru99Interface." Imajte na umu da se ključna riječ "sučelje" koristi za definiranje sučelja.
- Zatim definiramo metode koje će koristiti naše sučelje. U ovom slučaju definiramo iste metode koje su korištene u svim ranijim primjerima. Imajte na umu da sučelje samo deklarira metode. Ne definira kod u njima.
- Zatim našu klasu Guru99Tutorial proširujemo sučelje. Ovdje pišemo kod koji definira različite metode deklarirane u sučelju. Ova vrsta kodiranja postiže 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 kao ugovor. The razred mora se pridržavati ugovora. Dakle, ako ugovor kaže da treba imati dvije metode pod nazivom "SetTutorial" i "GetTutorial", onda bi tako trebalo biti.
rezime
- Sučelje definira ugovor kojeg će se klasa pridržavati. Sučelje definira koje su to operacije koje klasa može izvoditi.