Cos'è una classe di interfaccia?
Le interfacce vengono utilizzate insieme alle classi per definire ciò che è noto come contratto. Un contratto è un accordo su ciò che la classe fornirà a un'applicazione.
Un'interfaccia dichiara le proprietà e i metodi. Spetta alla classe definire esattamente cosa farà il metodo.
Diamo un'occhiata a un esempio di interfaccia modificando le classi nella nostra applicazione Console. Nota che non eseguiremo il codice perché non c'è nulla che possa essere eseguito utilizzando un'interfaccia.
Creiamo una classe di interfaccia. La classe si chiamerà "Guru99Interface". La nostra classe principale estenderà quindi l'interfaccia definita. Tutto il codice deve essere scritto nel file 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();}}}
Spiegazione del codice: -
Qui, spieghiamo le sezioni importanti del codice
- Per prima cosa definiamo un'interfaccia chiamata "Guru99Interface". Notare che la parola chiave "interfaccia" viene utilizzata per definire un'interfaccia.
- Successivamente, stiamo definendo i metodi che verranno utilizzati dalla nostra interfaccia. In questo caso, stiamo definendo gli stessi metodi utilizzati in tutti gli esempi precedenti. Notare che un'interfaccia dichiara solo i metodi. Non definisce il codice in essi.
- Quindi facciamo in modo che la nostra classe Guru99Tutorial estenda l'interfaccia. Qui è dove scriviamo il codice che definisce i vari metodi dichiarati nell'interfaccia. Questo tipo di codifica consente di ottenere quanto segue
- Assicura che la classe, Guru99Tutorial, aggiunga solo il codice necessario per i metodi "SetTutorial" e "GetTutorial" e nient'altro.
- Assicura inoltre che l'interfaccia si comporti come un contratto. La classe deve rispettare il contratto. Quindi, se il contratto dice che dovrebbe avere due metodi chiamati "SetTutorial" e "GetTutorial", allora è così che dovrebbe essere.
Sommario
- Un'interfaccia definisce un contratto a cui la classe si conformerà. L'interfaccia definisce quali sono le operazioni che la classe può eseguire.