Cos'è l'interfaccia in C# con l'esempio
Cos'è l'interfaccia in C#?
An Interfaccia in C# viene utilizzato insieme a una classe per definire un contratto che è un accordo su cosa la classe fornirà a un'applicazione. L'interfaccia definisce quali operazioni una classe può eseguire. Un'interfaccia dichiara le proprietà e i metodi. Spetta alla classe definire esattamente cosa farà il metodo.
Diamo un'occhiata ad un esempio di interfaccia modificando le classi nella nostra applicazione Console. Tieni presente che non eseguiremo il codice perché non c'è nulla che possa essere eseguito utilizzando un'interfaccia.
Esempio di interfaccia C#
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 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(); } } }
Spiegazione del codice: -
Qui spieghiamo le sezioni importanti del codice
- Per prima cosa definiamo un'interfaccia chiamata "Guru99Interface". Si noti che la parola chiave "interfaccia" viene utilizzata per definire un'interfaccia.
- Successivamente, stiamo definendo i metodi che saranno utilizzati dalla nostra interfaccia. In questo caso, stiamo definendo gli stessi metodi utilizzati in tutti gli esempi precedenti. Nota che un'interfaccia dichiara solo i metodi. Non definisce il codice in essi.
- Facciamo quindi 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 ottiene quanto segue
- Garantisce che la classe Guru99Tutorial aggiunga solo il codice necessario per i metodi “SetTutorial” e “GetTutorial” e nient'altro.
- Garantisce inoltre che l'interfaccia si comporti come un contratto. IL classe deve rispettare il contratto. Quindi, se il contratto dice che dovrebbero avere due metodi chiamati “SetTutorial” e “GetTutorial”, allora dovrebbe essere così.
Sintesi
- Un'interfaccia definisce un contratto a cui la classe rispetterà. L'interfaccia definisce quali sono le operazioni che la classe può eseguire.