Junior
Τι είναι μια διεπαφή σε C#;
sobes.tech AI
Απάντηση από AI
Η διεπαφή σε C# είναι μια συμφωνία που ορίζει ένα σύνολο μελών (μεθόδους, ιδιότητες, γεγονότα, δείκτες), αλλά δεν περιέχει την υλοποίησή τους. Οι κλάσεις και οι δομές μπορούν να υλοποιήσουν μία ή περισσότερες διεπαφές, δεσμευόμενες να παρέχουν την υλοποίηση όλων των μελών της διεπαφής.
Βασικά χαρακτηριστικά:
- Επιτρέπει την επίτευξη πολυμορφισμού.
- Ορίζει συμπεριφορά, όχι κατάσταση.
- Μπορεί να περιέχει μόνο δηλώσεις μελών χωρίς τροποποιητές πρόσβασης (έμμεσα
public). - Δεν μπορεί να δημιουργηθεί άμεσα (να δημιουργηθεί ως αντικείμενο).
- Υποστηρίζει πολλαπλή κληρονομικότητα (μία κλάση μπορεί να υλοποιεί πολλές διεπαφές).
- Εισήχθησαν προεπιλεγμένες διεπαφές με το .NET Core 3.0+, που επιτρέπουν την παροχή υλοποιήσεων μελών.
Παράδειγμα:
// Ορισμός διεπαφής
public interface ICustomer
{
string GetFullName(); // Δήλωση μεθόδου
int CustomerId { get; } // Δήλωση ιδιότητας
}
// Κλάση που υλοποιεί τη διεπαφή
public class CompanyCustomer : ICustomer
{
public int CustomerId { get; set; }
public string CompanyName { get; set; }
public string ContactPerson { get; set; }
public string GetFullName()
{
return $"{CompanyName} ({ContactPerson})";
}
}