Τι είναι το Interface στο C# με Παράδειγμα
Τι είναι το Interface στο C#;
An περιβάλλον λειτουργίας στη C# χρησιμοποιείται μαζί με μια κλάση για να ορίσει ένα συμβόλαιο που είναι μια συμφωνία για το τι θα παρέχει η κλάση σε μια εφαρμογή. Η διεπαφή καθορίζει ποιες λειτουργίες μπορεί να εκτελέσει μια κλάση. Μια διεπαφή δηλώνει τις ιδιότητες και τις μεθόδους. Εναπόκειται στην τάξη να καθορίσει τι ακριβώς θα κάνει η μέθοδος.
Ας δούμε ένα παράδειγμα διεπαφής αλλάζοντας τις κλάσεις στην εφαρμογή Console. Σημειώστε ότι δεν θα εκτελούμε τον κώδικα επειδή δεν υπάρχει τίποτα που να μπορεί να εκτελεστεί χρησιμοποιώντας μια διεπαφή.
Παράδειγμα διεπαφής C#
Ας δημιουργήσουμε μια κλάση διεπαφής. Η τάξη θα ονομάζεται "Guru99Interface". Στη συνέχεια, η κύρια τάξη μας θα επεκτείνει την καθορισμένη διεπαφή. Όλος ο κώδικας πρέπει να γραφτεί στο αρχείο 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(); } } }
Επεξήγηση κώδικα: -
Εδώ, εξηγούμε τα σημαντικά τμήματα του κώδικα
- Αρχικά ορίζουμε μια διεπαφή που ονομάζεται "Guru99Interface". Σημειώστε ότι η λέξη-κλειδί "διεπαφή" χρησιμοποιείται για τον ορισμό μιας διεπαφής.
- Στη συνέχεια, ορίζουμε τις μεθόδους που θα χρησιμοποιηθούν από τη διεπαφή μας. Σε αυτή την περίπτωση, ορίζουμε τις ίδιες μεθόδους που χρησιμοποιούνται σε όλα τα προηγούμενα παραδείγματα. Σημειώστε ότι μια διεπαφή απλώς δηλώνει τις μεθόδους. Δεν ορίζει τον κωδικό σε αυτά.
- Στη συνέχεια, κάνουμε την τάξη Guru99Tutorial να επεκτείνει τη διεπαφή. Εδώ γράφουμε τον κώδικα που ορίζει τις διάφορες μεθόδους που δηλώνονται στη διεπαφή. Αυτό το είδος κωδικοποίησης επιτυγχάνει τα εξής
- Διασφαλίζει ότι η τάξη, Guru99Tutorial, προσθέτει μόνο τον κώδικα που είναι απαραίτητος για τις μεθόδους "SetTutorial" και "GetTutorial" και τίποτα άλλο.
- Εξασφαλίζει επίσης ότι η διεπαφή συμπεριφέρεται σαν σύμβαση. ο τάξη πρέπει να τηρήσει τη σύμβαση. Έτσι, αν το συμβόλαιο λέει ότι θα πρέπει να έχει δύο μεθόδους που ονομάζονται "SetTutorial" και "GetTutorial", τότε έτσι θα έπρεπε να είναι.
Σύνοψη
- Μια διεπαφή ορίζει μια σύμβαση με την οποία θα συμμορφωθεί η κλάση. Η διεπαφή ορίζει ποιες είναι οι λειτουργίες που μπορεί να εκτελέσει η κλάση.