Sobes.tech
Junior

Was ist eine Schnittstelle in C#?

sobes.tech KI

Antwort von AI

Die Schnittstelle in C# ist ein Vertrag, der eine Reihe von Mitgliedern (Methoden, Eigenschaften, Ereignisse, Indexer) definiert, aber nicht deren Implementierung enthält. Klassen und Strukturen können eine oder mehrere Schnittstellen implementieren und sich verpflichten, die Implementierung aller Mitglieder der Schnittstelle bereitzustellen.

Wichtige Merkmale:

  • Ermöglicht Polymorphismus.
  • Definiert Verhalten, nicht Zustand.
  • Kann nur Mitgliedsdeklarationen ohne Zugriffsmodifikatoren enthalten (implizit public).
  • Kann nicht direkt erstellt (instanziiert) werden.
  • Unterstützt Mehrfachvererbung (eine Klasse kann mehrere Schnittstellen implementieren).
  • Standard-Schnittstellen wurden mit .NET Core 3.0+ eingeführt, die die Bereitstellung von Mitglieder-Implementierungen erlauben.

Beispiel:

// Schnittstellen-Definition
public interface ICustomer
{
    string GetFullName(); // Methodendeklaration
    int CustomerId { get; } // Eigenschaften-Deklaration
}

// Klasse, die die Schnittstelle implementiert
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})";
    }
}