Was ist eine Teilklasse?
Eine Teilklasse ist eine Funktion in einigen objektorientierten Programmiersprachen, mit der die Implementierung einer Klasse auf mehrere Quellcodedateien aufgeteilt werden kann. Teilklassen, die auch als Teiltypen bezeichnet werden, gibt es in vielen Programmiersprachen nicht, insbesondere in älteren wie C ++ und Java. Jede Sprache, die Teilklassen wie C # und Ruby implementiert, behandelt die Implementierung ein wenig anders.
Im Allgemeinen verwenden Teilklassen das Schlüsselwort "partial", um Klassenteile zu kennzeichnen, und ob das Schlüsselwort groß geschrieben wird, hängt von der verwendeten Programmiersprache ab. Jedes Teil der Klasse wird auf dieselbe Weise mit identischen Klassendeklarationen initialisiert. Ohne dieses "partielle" Schlüsselwort wäre es unzulässig, mehrere Klassen in mehreren Dateien mit demselben Namen zu erstellen. Das Schlüsselwort "partial" weist den Compiler oder Interpreter an, je nach Sprache alle Klassen zu einer großen Einheit zusammenzuführen. Alle unterschiedlichen Teile der Klasse müssen dieselbe Sichtbarkeit haben, sei es öffentlich, privat oder geschützt. Wenn ein Teil der Klasse als abstrakt bezeichnet wird, wird die zusammengeführte Klasse auch als abstrakt bezeichnet, selbst wenn keiner der anderen Einzelteile als solcher bezeichnet wurde.
Die Implementierung einer Teilklasse über mehrere Dateien hinweg hat sowohl im Programmierstil als auch in der Organisation einige wesentliche Vorteile. Teilklassen ermöglichen die explizite Trennung verwandter Codeteile in spezialisiertere Gruppen. Darüber hinaus ermöglicht eine Teilklasse mehreren Programmierern, an bestimmten Codeteilen zu arbeiten, ohne die anderen zu stören und versehentlich Revisionen zu überschreiben. Selbst für einzelne Programmierer können Teilklassen nützlich sein, da sie zum Erstellen sehr großer Klassen verwendet werden können, ohne auch eine einzelne unhandliche Datei zu erstellen, die schwierig zu organisieren und zu lesen ist.
Implementierungsmuster für Teilklassen haben auch einige signifikante Nachteile. Obwohl sie sich unter dem Dach der objektorientierten Programmierung befinden, verletzen Teilklassen tatsächlich die Kapselungsprinzipien, die für die objektorientierte Programmierung von zentraler Bedeutung sind. In der objektorientierten Programmierung soll eine Klasse eine einzelne Einheit sein, die ihre eigenen eindeutigen Zustände und Verhaltensweisen aufweist, in sich geschlossen ist und als zusammenhängende Einheit verwendet werden kann. Teilklassen verstoßen gegen diese Idee, da jede Teilklasse wie eine einzelne separate Klasse fungiert. Obwohl die Teile einer Teilklasse zur Laufzeit zu einer großen Klasse zusammengeführt werden, handelt es sich bei den Teilen der Teilklasse häufig um unabhängige Entitäten, die einzeln verwendet werden können, ohne dass eine Zusammenführung erforderlich ist.