Erstellen von Schnittstellenmethoden

Abgeschlossen

Als Entwickler, der mit dem Erstellen der Schnittstellen Ihres Projekts beauftragt wurde, beginnen Sie, zusätzlich zu den Schnittstellen mit nur EigenschaftenSchnittstellenmethoden hinzuzufügen. Zum Testen der Schnittstelle entwickeln Sie eine Klasse, die diese Methoden implementiert.

Eine Schnittstelle ist eine Reihe verwandter Funktionen, die eine Klasse implementieren muss. Sie kann Methoden, Eigenschaften, Ereignisse und Indexer enthalten.

Zum Beispiel, betrachten Sie eine Schnittstelle namens IVehicle, die eine Drive Methode und Eigenschaften für Speed und Color enthält.

public interface IVehicle
{
    int Speed { get; set; }
    string Color { get; set; }
    void Drive();
}

Hinweis

Wie die Drive-Methode ohne Text in der Schnittstelle deklariert wird. Fügen Sie beim Hinzufügen von Methoden zu einer Schnittstelle die Signatur der Methode in die Schnittstellendeklaration ein, aber nicht den Textkörper. Die Klasse, die die Schnittstelle implementiert, stellt den Text der Methode bereit.

Erstellen einer Klasse, die die Schnittstelle implementiert

Das Implementieren einer Schnittstelle in einer Klasse ist für Klassen mit Eigenschaften, Methoden oder beiden identisch. Beachten Sie beim Erstellen einer Klasse, die eine Schnittstelle implementiert, die folgenden Richtlinien:

  • Stellen Sie Implementierungen für alle Member der Schnittstelle bereit.
  • Deklarieren Sie die Schnittstelle als Teil der Klassendefinition, und geben Sie die erforderlichen Methodentexte an.

Hinweis

Eine Klasse kann mehrere Schnittstellen implementieren, sodass sie das Verhalten aus mehreren Quellen einschließen kann. Eine Klasse kann jedoch nur von einer einzelnen Klasse erben. Wenn eine Basisklasse eine Schnittstelle implementiert, erbt jede von der Basisklasse abgeleitete Klasse diese Implementierung.

Untersuchen Sie das folgende Car Klassenbeispiel, das die IVehicle Schnittstelle implementiert:

public class Car : IVehicle
{
    private int _speed;
    private string _color;

    public int Speed
    {
        get { return _speed; }
        set { _speed = value; }
    }

    public string Color
    {
        get { return _color; }
        set { _color = value; }
    }

    public void Drive()
    {
        // Implementation of the Drive method
        Console.WriteLine("The car is driving.");
    }
}

In diesem Beispiel wird die Drive Methode implementiert, um eine Meldung anzuzeigen, wenn sie aufgerufen wird. Dies ist nur eine einfache Implementierung für Demonstrationszwecke. In einer realen Anwendung könnte die Drive Methode komplexeren Code enthalten, der steuert, wie das Auto fährt.

Schnittstellen definieren einen Vertrag mit Methodensignaturen und Eigenschaften, die für die Implementierung einer Klasse erforderlich sind. Wenn eine Klasse eine Schnittstelle implementiert, stellt sie den tatsächlichen Code für diese Methoden bereit, wodurch die Methodensignaturen effektiv in Funktionsroutinen umgewandelt werden. Dieser Prozess ermöglicht es einer Klasse, verschiedene Verhaltensweisen zu übernehmen, indem mehrere Schnittstellen implementiert werden. Während Sie weiterhin Methoden innerhalb von Schnittstellen entwickeln und definieren, werden Sie feststellen, dass die Verwendung von Schnittstellen effektiv zu einem saubereren, effizienteren und verwaltbaren Code führen kann.