Interfaces
Siehe Kategorie: ABAP OO.
Klassen können Interfaces nutzen und über diese angesprochen werden. Das gleiche Interface kann auch von mehreren Klassen genutzt werden. Durch die Verwendung der Methoden des gleiches Interfaces, sind die Parameter/Schnittstellen in den Klassen identisch. Unterschiedlich sind nur die Implementationen der Methoden des Interfaces.
In Interfaces lassen sich auch Attribute deklarieren. Da diese jedoch immer PUBLIC sind, ist davon abzuraten.
Jede Klasse kann auch mehrere Interfaces verwenden.
Verwendung Interfaces in globalen Klassen
Aufruf globale Klasse in Transaktion SE24
Mit der Transaktion SE24 wird hier im Beispiel die Klasse CL_GUI_ALV_GRID aufgerufen
Deklaration Interface in der globalen Klasse
In der globalen Klasse CL_GUI_ALV_GRID wird das Interface IF_DRAGDROP deklariert unter dem Reiter "Interfaces".
Methoden des Interfaces
Die Methoden des Interfaces IF_DRAGDROP sind unter dem Reiter "Methoden" zu sehen entsprechend dem Muster "interface~methode".
Globales Interface
Aufruf globales Interface in Transaktion SE24
Mit der Transaktion lassen sich neben Klassen auch Interfaces aufrufen. Hier wird das Interface IF_DRAGDROP aufgerufen.
Methoden des globalen Interfaces
Hier erkennt man wieder die Methoden, die bereits in der globalen Klasse CL_GUI_ALV_GRID zu sehen waren.
Verwendungsnachweis Interface
Mit kann ein Verwendungsnachweis auf das Interface gestartet werden.
Es wird auch aufgelistet in welchen Klassen ein Interface genutzt wird.
Globale Konstanten in Interfaces
- Es kann Sinn machen Konstanten in Interfaces zu deklarieren, um einen Verwendungsnachweis auf die Konstanten zu haben.
- Eigene Interfaces müssen mit dem Präfix "ZIF" oder "YIF" beginnnen.
- Bei einem Kunden wurden hier vor allem 3 Interfaces für Konstanten genutzt.
- Im Interface ZIF_CA_APPLOG_SUBOBJECTS wurden für die Application Log die Namen der Subobjects gespeichert, um schnell alle Stellen im Kundensystem zu finden, wo das Application Log genutzt wird.
Implementierung der Methoden des Interfaces
Die Schnittstelle der Methoden des Interfaces sind in allen verwendeten Klassen gleich. Unterschiedlich sind jedoch die Implementierungen der Methoden. Die Implementierung der Methoden des Interfaces kann nicht direkt im Interface erfolgen, sondern in Klassen, die das Interface eingebunden haben.
Hier ist die Implementierung der Methode ONGETFLAVOR zu sehen.
Lokale Interfaces
Web-Links
Literatur
- ABAP Objects, von Frank Wolf, S. 34-36
- ABAP Objects: Das neue umfassende Handbuch zu Konzepten, Sprachelementen und Werkzeugen in ABAP OO, 2016, von Felix Roth (Amazon) oder Rheinwerk, Kap. 6.3 Interfaces anlegen