Ansicht
Dokumentation

ABAPCLASS_IMPLEMENTATION - CLASS IMPLEMENTATION

ABAPCLASS_IMPLEMENTATION - CLASS IMPLEMENTATION

Addresses (Business Address Services)   BAL Application Log Documentation  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

CLASS, IMPLEMENTATION

Kurzreferenz



CLASS class IMPLEMENTATION.
  ...
  METHOD ...
    ...
  ENDMETHOD.
  ...
ENDCLASS.

Wirkung

Im Anweisungsblock CLASS class IMPLEMENTATION - ENDCLASS müssen folgende Methoden einer Klasse class in beliebiger Reihenfolge implementiert werden:

  • alle konkreten Methoden von Interfaces, die mit der Anweisung INTERFACES im Deklarationsteil der Klasse aufgeführt sind
  • alle von Oberklassen geerbten Methoden, die im Deklarationsteil der Klasse mit der Anweisung METHODS ... REDEFINITION aufgeführt sind

Die Implementierung jeder Methode entspricht einem Verarbeitungsblock METHOD - ENDMETHOD. Außerhalb von Methodenimplementierungen sind im Implementierungsteil keine Anweisungen erlaubt. In einer Methodenimplementierung kann in Instanzmethoden auf alle Komponenten und in einer statischen Methodenimplementierung auf alle statischen Komponenten der eigenen Klasse zugegriffen werden. Private Klassen müssen nicht über einen Komponentenselektor adressiert werden. Innerhalb der Implementierung jeder Instanzmethode steht zur Laufzeit eine implizit erzeugte lokale Referenzvariable namens me zur Verfügung, die auf die aktuelle Instanz zeigt, in der die Methode gerade ausgeführt wird.

Beim Implementieren von Methoden, die in einem von der Klasse über INTERFACES eingebundenen Interface intf deklariert sind, muss dem Bezeichner der Methode in METHOD entweder intf~ vorangestellt oder ein in der Klasse mit ALIASES deklarierter Aliasname verwendet werden. Die Interfacemethode muss im Interface deklariert sein. Ansonsten kommt es bei der Verwendung lokaler Interfaces zu einem Syntaxfehler. Bei der Angabe eines globalen Interfaces über intf~ kommt es nur zu einer Syntaxwarnung. Dadurch bleiben Klassen auch nach einem nachträglichem Entfernen der Methoden aus dem globalen Interface verwendbar, insofern sie nicht selbst die Methoden verwendet haben.

Hinweise

  • Eine Klasse, die auf Grund ihres Deklarationsteils keine Methoden implementieren muss, hat entweder einen leeren oder gar keinen Implementierungsteil.
  • Abstrakte Methoden in abstrakten Klassen können im Implementierungsteil nicht implementiert werden.
  • Der Implementierungsteil einer Klasse kann nur in dem unter CLASS beschriebenen Kontext aufgeführt werden.

In diesem Beispiel müssen drei Methoden der Klasse c2 implementiert werden. Die Methode m1 in c1 ist abstrakt und darf dort nicht implementiert werden.






General Material Data   General Material Data  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 3972 Date: 20240424 Time: 173604     sap01-206 ( 62 ms )