Sobes.tech
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})";
    }
}