Heim  >  Artikel  >  Backend-Entwicklung  >  Wie funktionieren Schnittstellen in C#?

Wie funktionieren Schnittstellen in C#?

WBOY
WBOYnach vorne
2023-08-28 22:21:06564Durchsuche

C# 中的接口如何工作?

Eine Schnittstelle definiert einen Vertrag, der von einer Klasse oder Struktur implementiert wird. Es kann Methoden, Eigenschaften, Ereignisse und Indexer enthalten. Eine Schnittstelle ähnelt einer Klasse, außer dass sie keine Daten enthält und nur das Verhalten angibt, das sie ausführen kann (oder genauer gesagt das Verhalten, das die Klasse, die sie implementiert, ausführen kann).

Eine Klasse kann ein Verhalten oder mehrere Schnittstellen implementieren. Um ein Schnittstellenmitglied zu implementieren, sollte eine Klasse öffentliche Mitglieder mit derselben Methodendefinition wie die Schnittstellenmitglieder haben, d. h. mit demselben Namen und derselben Signatur.

IComparer ist beispielsweise eine im System.Collections-Namespace definierte Schnittstelle, die einen Vertrag für Methoden zum Vergleichen zweier Objekte definiert. Die Car-Klasse implementiert die IComparer-Schnittstelle

public interface IDriver{
   void Drive();
}
public class Car : IDriver{
   public string Name { get; set; }

   public int Speed { get; set; }
   public void Drive(){
      Console.WriteLine($"{Name}: {Speed}");
   }
}

Alle Mitglieder der Schnittstelle sind implizit abstrakt und haben keine Implementierungsdetails. Alle Schnittstellenmitglieder sind öffentlich. Zugriffsmodifikatoren können nicht mit Schnittstellenmitgliedern verwendet werden. Eine Klasse, die eine Schnittstelle implementiert, muss öffentliche Methoden bereitstellen, die die Schnittstelle implementieren.

Schnittstellen können andere Schnittstellen erweitern, z. B. -

public interface IPerformer { void Perform(); }
public interface ISinger : IPerformer{
   void Sing();
}

Schnittstellen ermöglichen es Ihnen, Verhalten aus mehreren Quellen in einer einzigen Klasse einzubeziehen. Da C# keine Mehrfachvererbung wie C++ zulässt, sind Schnittstellen eine Möglichkeit, Mehrfachvererbung in C# zu implementieren.

Ein Nachteil von Schnittstellen besteht darin, dass sie weniger flexibel sind als Klassen, wenn Sie sie zum Offenlegen einer API verwenden. Wenn Sie den Vertrag einer Schnittstelle ändern, werden alle Klassen, die diese Schnittstelle implementieren, unterbrochen und müssen aktualisiert werden, um die Schnittstelle zu implementieren.

Beispiel

Echtzeitdemonstration

using System;
class Program{
   static void Main(){
      var carOne = new Car { Name = "Honda", Speed = 100 };
      var carTwo = new Car { Name = "Toyota", Speed = 70 };
      carOne.Drive();
      carTwo.Drive();
   }
}
public interface IDriver{
   void Drive();
}
public class Car : IDriver{
   public string Name { get; set; }
   public int Speed { get; set; }
   public void Drive(){
      Console.WriteLine($"{Name}: {Speed}");
   }
}

Ausgabe

Honda: 100
Toyota: 70

Das obige ist der detaillierte Inhalt vonWie funktionieren Schnittstellen in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen