Ansicht
Dokumentation
ABAPCLASS_IMPLEMENTATION - CLASS IMPLEMENTATION
Addresses (Business Address Services) BAL Application Log DocumentationDiese Dokumentation steht unter dem Copyright der SAP AG.
CLASS, IMPLEMENTATION
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, die mit METHODS oder CLASS-METHODS im Deklarationsteil der Klasse deklariert sind
- 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 )