Anfang des Inhaltsbereichs

VorgehensweisenUnterklassen erweitern  Dokument im Navigationsbaum lokalisieren

Alle Änderungen in den Unterklassen sind additiv, d.h. es können keine von der Oberklasse geerbten Komponenten entfernt werden. Stattdessen sind Erweiterungen der Unterklasse gegenüber ihrer Oberklasse im folgenden Sinne möglich:

Es können nur Instanzmethoden redefiniert werden. Ein erneutes Definieren anderer Komponenten (Attribute, Klassenmethoden, …) in der Unterklasse ist also nicht zulässig.
Ferner dürfen die betreffenden Methoden nicht in der Oberklasse als finale Methoden definiert worden sein. Da Konstruktoren implizit finale Methoden sind, können sie ebenfalls nicht redefiniert werden.
Die Redefinition der Methoden beschränkt sich nur auf eine neue Implementierung dieser Methode in der Unterklasse. Die Signatur (Namen und Typen aller Parameter) der Methoden darf jedoch nicht geändert werden. Die Schnittstelle der redefinierten Methode unterscheidet nicht von derjenigen der Orginal-Methode in der Oberklasse.

Vorgehensweise

Neue Komponenten hinzufügen

Für alle Sichtbarkeitsbereiche (PUBLIC, PROTECTED und PRIVATE) können neue Komponenten definiert werden. Da sowohl die geerbten wie die hinzugefügten Komponenten im gleichen Namensraum liegen, ist darauf zu achten, daß bei der Namensvergabe die Eindeutigkeit der Komponentennamen gewährleistet wird.
Siehe auch:

Attribute anlegen

Methoden anlegen

Ereignisse anlegen

Methoden redefinieren

So gehen Sie vor, um eine geerbte Methode in einer Unterklassse zu redefinieren:

  1. Lassen Sie sich alle Methoden der Unterklasse anzeigen.
  2. Die geerbten Methoden aller Oberklassen werden angezeigt.

  3. Positionieren Sie den Cursor auf die betreffende Methode und schalten Sie in den Änderungsmodus um.
  4. Klicken Sie auf die Ikone Diese Grafik wird im zugehörigen Text erklärt Redefinieren.
  5. Der zur Orginal-Methode zugehörige ABAP-Quelltext wird angezeigt.

  6. Implementieren Sie die Methode neu.
  7. Führen Sie einen Syntaxcheck durch.
  8. Sichern Sie den Quelltext.
  9. Dokumentieren Sie die neu implementierte Methode.

Ergebnis

In der erweiterten Klasse sind neben neu hinzugefügten Komponenten auch alle public und protected Komponenten aller Oberklassen sichtbar.
Die Änderungen durch Redefinieren der Methoden in den Unterklassen haben keine Auswirkungen auf die Orginal-Methode in der Oberklasse.

Auf alle in der Unterklasse sichtbaren Komponenten kann in gleicher Weise zugegriffen werden. Auch die geerbten Komponenten aus der Oberklasse werden mit ihren lokalen Namen angesprochen. Sollte es jedoch erforderlich sein, auf die Komponenten der direkten Oberklasse (z.B. auf die gleichnamige Orginal-Methode) zuzugreifen, so kann hierzu die Pseudo-Referenz SUPER verwendet werden.