Beitragsseiten

 

4.2 Weiterführende Konzepte

4.2.1 Abstrakte und konkrete Klassen

Ein weiteres Konzept, das sich indirekt aus der Generalisierung ableitet, betrifft die Fest­legung einer Klasse als abstrakt. bzw. konkret. Der Unterschied besteht darin, daß von einer abstrakten Klasse keine Instanzen direkt erstellt werden können, sondern nur von abgeleiteten konkreten Klassen. Diese Festlegung ist dann von Nutzen, wenn eine Super­klasse lediglich der Definition eines Konzepts dient, dessen unterschiedlichen Ausprägungen in den abgeleiteten Klassen spezifiziert werden müssen (SCHADER/ KUHLINS 1996, S.262). In dem in Abbildung 12 dargestellten Beispiel ist es nicht möglich, ein Geometrie–Objekt zu erstellen, wohl aber Objekte vom Typ Punkt, Linie und Fläche. Angenommen, in der Klasse Geometrie ist eine Methode „Auf_Bildschirm_zeichnen“ definiert, die an die Subklassen weitervererbt wird, so kann diese in der Geometrie-Klasse nicht implementiert werden, da diese nicht über die not­wendigen Daten in Form von Koordinatenwerten verfügt. Erst in den abgeleiteten Klassen stehen diese Daten zur Verfügung und für jede Klasse muß eine Funktion programmiert werden, die das entsprechende Objekt auf einem Bildschirm anzeigt.

4.2.2 Mehrfachvererbung

Die bisher betrachtete einfache Vererbung erlaubt maximal eine Oberklasse. Eine Er­weiterung stellt das Konzept der Mehrfachvererbung dar, wobei eine Unterklasse von mehreren Oberklassen erben kann.1 Dadurch kann in einem Datenmodell ausgedrückt werden, daß ein und dasselbe Objekt in in einem anderen Kontext eine andere Rolle er­füllt. Beispielsweise stellt eine Schleuse einmal ein Bauwerk, ein anderes Mal ein Ver­kehrshindernis dar oder ein Grundstück umfaßt sowohl eigentumsrechtliche als auch widmungsrechtliche Aspekte. Wesentlich dabei ist, daß die Identität eines Objektes davon nicht betroffen ist, sondern lediglich für ein Objekt in einem anderen Anwendungskontext andere Eigenschaften und Verhaltensmerkmale von Bedeutung sind (BARTELME 1995, S. 151).

Abbildung 14: Mehrfachvererbung



Quelle: Eigener Entwurf.

4.2.3 Kapselung

Dieses auch als „information hiding“ bezeichnete Prinzip dient der Datenabstraktion einer Klasse. Dabei wird die abstrakte Sicht auf die Objekte gezielt von der internen Implemen­tierung getrennt, indem einige Eigenschaften eines Objekts als „privat“, d.h. nur für das Objekt selbst zugänglich, deklariert werden. Die öffentlichen Eigenschaften bilden die Schnittstelle (das „Interface“) der Klasse, über die die Objekte diesen Typs angesprochen werden können. Durch diese Deklaration kann das System unerlaubte Manipulationen auf den Objekten unterbinden. An der internen Realisierung können nachfolgend Änderungen vorgenommen werden, die sich auf andere Bereiche der Software nicht auswirken, solange die Schnittstelle unverändert bleibt (FRITSCH/ANDERS 1996, S. 5).