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