Anfang des Inhaltsbereichs

Übersichtsgrafiken zur Vererbung Dokument im Navigationsbaum lokalisieren

Vererbung - Überblick

Diese Grafik wird im zugehörigen Text erklärt

Der linke Teil der Abbildung zeigt, wie eine Unterklasse c2 aus einer Oberklasse c1 durch den Zusatz INHERITING FROM der Anweisung CLASS abgeleitet wird. Der rechte Teil der Abbildung zeigt, wie sich die Definition der Unterklasse über den gesamten Vererbungsbaum der bis zur leeren Klasse OBJECT verteilt. Eine Unterklasse enthält alle vorhergehenden Komponenten und kennt alle öffentlichen und geschützten Komponenten aller Oberklassen.

Einfachvererbung

Diese Grafik wird im zugehörigen Text erklärt

Diese Abbildung verdeutlicht die Einfachvererbung. Jede Klasse kann nur eine direkte Oberklasse, aber mehrere direkte Unterklassen haben. Die leere Klasse OBJECT ist der Wurzelknoten sämtlicher Vererbungsbäume in ABAP Objects.

Vererbung und Referenzvariable

Diese Grafik wird im zugehörigen Text erklärt

Diese Abbildung zeigt wie Referenzvariablen, die mit Bezug auf Oberklassen typisiert sind auf Objekte von Unterklassen zeigen. Das Objekt rechts ist eine Instanz der Klasse class3. Die Klassenreferenzvariablen CREF1, CREF2 und CREF3 sind mit Bezug auf class1, class2 und class3 typisiert. Alle drei können auf das Objekt zeigen. Dabei kennt CREF1 aber nur die öffentlichen Komponenten von class1. CREF2 kennt die öffentlichen Komponenten von class1 und class2. CREF3 kennt die öffentlichen Komponenten aller beteiligten Klassen.

Wenn eine Methode einer Oberklasse in einer Unterklasse redefiniert wird, kann mit einer Referenzvariablen, die mit Bezug auf die Oberklasse typisiert ist, auf Objekte mit unterschiedlichen Methodenimplementierungen gezeigt werden, nämlich auf Objekte der Oberklasse mit der ursprünglichen Implementierung und auf Objekt der Unterklasse mit der neuen Implementierung. Das unterschiedliche Verhalten von Methoden, die mit einer einzigen Referenzvariablen aufgerufen werden können, nennt man Polymorphie.

Ende des Inhaltsbereichs