Ansicht
Dokumentation

ABENOBJ_ORIENTED_GDL - OBJ ORIENTED GDL

ABENOBJ_ORIENTED_GDL - OBJ ORIENTED GDL

General Data in Customer Master   SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Objektorientierte Programmierung

Optimales objektorientiertes Design ist keine leichte Aufgabe und auch nicht Gegenstand dieser Programmierrichtlinien. Es lohnt sich in jedem Fall, hierzu die einschlägige Literatur zu Rate zu ziehen. Die vorliegenden Regeln beschränken sich auf wenige, grundsätzliche Empfehlungen, die geeignet sind, die Verständlichkeit und Wartbarkeit von Quelltext zu erhöhen, sowie auf Eigenheiten von ABAP bei der Arbeit mit globalen und lokalen Klassen.

Entwickler mit entsprechender Erfahrung auf dem Gebiet der objektorientierten Entwicklung in anderen Programmiersprachen sollten sich der grundsätzlichen Unterschiede zwischen ABAP Objects und beispielsweise Java bewusst sein:

  • In Java werden alle höherwertigen Datenobjekte, also insbesondere Container-Variablen wie beispielsweise Strings, über Klassen modelliert. ABAP bietet im Gegensatz dazu sehr mächtige, eingebaute Typen. Neben den eingebauten ABAP-Strings werden auch interne Tabellen angeboten, die der strukturierten Ablage von Daten dienen und den mächtigsten ABAP-Typ darstellen. Die Implementierung eigener Container-Typen über ABAP-Klassen ist aus diesem Grund im Allgemeinen nicht sinnvoll.
  • Java erreicht durch Optimierungen und JIT-Kompilierung eine hohe Verarbeitungsgeschwindigkeit für Methoden. In ABAP hingegen wird hohe Verarbeitungsgeschwindigkeit vor allem durch zum Teil sehr leistungsfähige und komplexe Einzelanweisungen erreicht. Auch aus diesem Grund ist die Implementierung eigener Container-Klassen im Allgemeinen nicht sinnvoll, da beispielsweise der Zugriff auf eine geeignete interne Tabelle stets schneller ablaufen wird als handgeschriebene Zugriffslogik in ABAP.

Algorithmen sowie die grobe Klassenstruktur lassen sich natürlich durchaus von einer in einer anderen objektorientierten Programmiersprache geschriebenen Anwendung auf ABAP übertragen. Mit zunehmender Tiefe werden jedoch die Unterschiede größer. Ein detailliertes Design in einer anderen Sprache lässt sich daher nicht ohne entsprechende Anpassungen erfolgreich auf ABAP Objects übertragen.






ABAP Short Reference   ABAP Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 3257 Date: 20240523 Time: 104929     sap01-206 ( 76 ms )