ABAP - Schlüsselwortdokumentation →  ABAP - Referenz →  Deklarationen →  Deklarationsanweisungen →  Klassen und Interfaces →  ABAP Objects - Übersicht → 

Klassen

Der Typ eines Objekts wird als seine Klasse bezeichnet. Eine Klasse ist eine abstrakte Darstellung oder bildlich gesehen eine Bauanleitung für Objekte. Zur Beschreibung der Eigenschaften von Objekten enthalten Klassen Komponenten, welche den Zustand und das Verhalten von Objekten definieren.

Globale und lokale Klassen

Die Definition von Klassen kann global in der Klassenbibliothek im Repository oder lokal in einem ABAP-Programm erfolgen.

Globale Klassen sind in einem speziellen ABAP-Programm, einem Class-Pool codiert, während lokale Klassen in fast jedem ABAP-Programm codiert werden können. Globale Klassen sind in allen ABAP-Programmen sichtbar. Die Verwendbarkeit richtet sich nach der Paketprüfung. Lokale Klassen können statisch nur in ihrem Programm verwendet werden. Dynamische Zugriffe sind auch über Programmgrenzen hinweg möglich, werden aber nicht empfohlen. Bei der ersten Verwendung einer globalen Klasse wird der Class-Pool in die interne Sitzung des Verwenders geladen. Die lokalen Klassen eines Class-Pools können von dessen globaler Klasse verwendet werden.

Bis auf die Art der Ablage und der Sichtbarkeit gibt es konzeptionell fast keine Unterschiede zwischen globalen und lokalen Klassen. Zu den wenigen Unterschieden gehört, dass in der öffentlichen Schnittstelle einer globalen Klasse ausschließlich auf öffentliche Typen Bezug genommen werden kann und dass dort zwischen globalen und lokalen Freunden unterschieden wird.

Ebenso macht es bezüglich der Performance faktisch keinen Unterschied, ob eine Methode einer lokalen oder einer globalen Klasse aufgerufen wird. Aus diesem Grund sollen Klassen, die von mehreren Programmen verwendet werden ausschließlich in der Klassenbibliothek angelegt werden. Von einer Wiederverwendung lokaler Klassen über Include-Programme ist abzusehen.

Ausführbares Beispiel

Klassen



Weiterlesen
Komponenten von Klassen