BESTE WEBSITE FÜR WEBENTWICKLER
C# Sprache. W3Schools auf Deutsch. Unterricht für Anfänger

Ua En Es

C# Schnittstelle


Schnittstellen

Eine weitere Möglichkeit, Abstraktion in C# zu erreichen, sind Schnittstellen.

Eine interface ist eine vollständig „abstrakte Klasse“, die nur abstrakte Methoden und Eigenschaften (mit leeren Körpern) enthalten kann.

Beispiel

// Schnittstelle
interface Animal
{
  void animalSound(); // Schnittstellenmethode (hat keinen Körper)
  void run(); // Schnittstellenmethode (hat keinen Körper)
}

Es gilt als bewährte Vorgehensweise, mit dem Buchstaben „I“ am Anfang einer Schnittstelle zu beginnen, da es Ihnen und anderen leichter fällt, sich daran zu erinnern, dass es sich um eine Schnittstelle und nicht um eine Klasse handelt.

Standardmäßig sind Mitglieder einer Schnittstelle abstract und public.

Hinweis: Schnittstellen können Eigenschaften und Methoden, aber keine Felder enthalten.

Um auf die Schnittstellenmethoden zugreifen zu können, muss die Schnittstelle von einer anderen Klasse „implementiert“ (sozusagen geerbt) werden. Um eine Schnittstelle zu implementieren, verwenden Sie das Symbol : (genau wie bei der Vererbung). Der Hauptteil der Schnittstellenmethode wird von der Klasse „implement“ bereitgestellt. Beachten Sie, dass Sie beim Implementieren einer Schnittstelle nicht das Schlüsselwort override verwenden müssen:

Beispiel

// Schnittstelle
interface IAnimal
{
  void animalSound(); // Schnittstellenmethode (hat keinen Körper)
}

// Pig "implementiert" die IAnimal-Schnittstelle
class Pig : IAnimal
{
  public void animalSound()
  {
    // Der Hauptteil von animalSound() wird hier bereitgestellt
    Console.WriteLine("Das Schwein sagt: Pipi");
  }
}

class Program
{
  static void Main(string[] args)
  {
    Pig myPig = new Pig();  // Erstellen Sie ein Pig-Objekt
    myPig.animalSound();
  }
}

Try it Yourself »


Hinweise zu Schnittstellen:

  • Wie abstrakte Klassen können Schnittstellen nicht zum Erstellen von Objekten verwendet werden (im obigen Beispiel ist es nicht möglich, ein „IAnimal“-Objekt in der Program-Klasse zu erstellen)
  • Schnittstellenmethoden haben keinen Körper – der Körper wird von der Klasse „implement“ bereitgestellt
  • Bei der Implementierung einer Schnittstelle müssen Sie alle ihre Methoden überschreiben
  • Schnittstellen können Eigenschaften und Methoden enthalten, jedoch keine Felder/Variablen
  • Schnittstellenmitglieder sind standardmäßig abstract und public
  • Eine Schnittstelle darf keinen Konstruktor enthalten (da er nicht zum Erstellen von Objekten verwendet werden kann)

Warum und wann sollten Schnittstellen verwendet werden?

1) Um Sicherheit zu erreichen – bestimmte Details ausblenden und nur die wichtigen Details eines Objekts (Schnittstelle) anzeigen.

2) C# unterstützt keine „Mehrfachvererbung“ (eine Klasse kann nur von einer Basisklasse erben). Dies kann jedoch mit Schnittstellen erreicht werden, da die Klasse mehrere Schnittstellen implementieren kann.

Hinweis: Um mehrere Schnittstellen zu implementieren, trennen Sie diese durch ein Komma (siehe Beispiel unten).