Ü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.
Beim Online-Gaming kommt es nicht nur auf das eigene Können an. Auch die technischen Voraussetzungen…
Fast jedes zweite Unternehmen bietet keinerlei Schulungen an. In den übrigen Betrieben profitieren oft nur…
Huawei stellt auf der Connect Europe 2024 in Paris mit Xinghe Intelligent Network eine erweiterte…
Höchste Zeit für eine schnelle Kupfer-Glas-Migration. Bis 2030 soll in Deutschland Glasfaser flächendeckend ausgerollt sein.
Schon im April 2025 soll Android 16 den Status Plattformstabilität erreichen. Entwicklern gibt Google danach…
Die Hintermänner setzen KI-Chatbot-Tools als Köder ein. Opfer fangen sich den Infostealer JarkaStealer ein.