C# für Einsteiger: Klassenschnittstellen

Üblicherweise beginnen die Namen von Schnittstellen (Interfaces) mit einem großen „I“, wobei der nächste Buchstabe ebenfalls großgeschrieben wird. (Zwei Beispiele hierfür sind IComparable und IEnumerable.) Eine Schnittstelle ist wie eine abstrakte Basisklasse: Beide legen keine genauen Einzelheiten der Implementierung fest, und beide werden von abgeleiteten Klassen verwendet. Allerdings kann eine Klasse von einer Basisklasse abgeleitet sein und gleichzeitig eine Schnittstelle implementieren – oder sogar mehrere Schnittstellen. (Im Unterschied dazu können C#-Klassen nur von einer Basisklasse erben.) In dieser Hinsicht sind die Schnittstellen universeller – und wohl nützlicher – als die Klassen-Vererbung.

Schnittstellen-Implementierungen tragen zur Sicherung der Konsistenz bei. So haben Studien gezeigt, dass Software, die mit Klassenbibliotheken entwickelt wurde, die Schnittstellen implementieren, tendenziell weniger Fehler aufweist.

Schnittstellen eignen sich optimal für Situationen, in denen eine Gruppe von Programmierern eine Klassenbibliothek erstellt hat (z. B. die Schöpfer des .NET Frameworks) und eine andere Gruppe diese Klassen benutzt (z. B. Sie und ich). Die Schnittstellen-Implementierung stellt außerdem eine gute Möglichkeit für einen Teamleiter dar, um Projekt-Spezifikationen vorzugeben: Der Projektleiter schreibt die Schnittstellen und spezifiziert obligatorische Implementierungen innerhalb der Klassen.

Wie ich später in diesem Artikel zeigen werde, unterstützt die Visual Studio .NET-Entwicklungsumgebung selbst die Umsetzung eines von einer Schnittstelle vorgegebenen Vertrags. Wenn Sie versuchen, ein Projekt auszuführen, das eine Klasse mit einer Schnittstelle enthält, aber die von der Schnittstelle spezifizierten Mitglieder in dieser Klasse nicht implementiert sind, werden Sie eine Syntaxfehlermeldung erhalten, und das Projekt mit diesem Code wird sich weder ausführen noch kompilieren lassen.

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu C# für Einsteiger: Klassenschnittstellen

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *