Anfang des Inhaltsbereichs

Funktionsdokumentation Sichtbarkeitsbereiche in Klassen  Dokument im Navigationsbaum lokalisieren

Verwendung

Der Deklarationsteil einer Klasse lässt sich in die unten stehenden Sichtbarkeitsbereiche einteilen. Diese Bereiche legen die externe Sichtbarkeit der Klassenkomponenten und Interfaces der Klasse für ihre Verwender fest. Jede Komponente einer Klasse muss explizit einem der Sichtbarkeitsbereiche zugeordnet werden.

Funktionsumfang

Öffentlicher Sichtbarkeitsbereich

Alle Komponenten, die im mit PUBLIC SECTIONdefinierten öffentlichen Sichtbarkeitsbereich deklariert sind, sind für alle Verwender sowie in den Methoden aller Erben und der Klasse selbst ansprechbar. Die öffentlichen Komponenten bilden das Interface der Klasse für jeden Verwender. Allerdings kann eine Unterklasse nicht auf die geschützten Komponenten einer Unterklasse, die auf einem anderen Zweig in der Vererbungshierarchie liegt, zugreifen, auch wenn diese von einer gemeinsamen Oberklasse geerbt werden.

Geschützter Sichtbarkeitsbereich

Alle Komponenten, die im mit PROTECTED SECTIONdefinierten geschützten Sichtbarkeitsbereich deklariert sind, sind in den Methoden aller Erben und der Klasse selbst ansprechbar. Die geschützten Komponenten bilden ein spezielles Interface zwischen der Klasse und ihren Unterklassen.

Privater Sichtbarkeitsbereich

Alle Komponenten, die im mit PRIVATE SECTIONdefinierten privaten Sichtbarkeitsbereich deklariert sind, sind ausschließlich in der Klasse selbst ansprechbar und auch für die Erben nicht sichtbar. Die privaten Komponenten bilden kein Interface zu den Verwendern der Klasse.

Paket-Sichtbarkeitsbereich

Alle Komponenten, die im mit PACKAGE SECTIONdefinierten Paket-Sichtbarkeitsbereich deklariert sind, sind für alle Verwender sichtbar, die zu demselben Paket gehören. Für alle Verwender außerhalb des Pakets sind sie unsichtbar. Für die Repository-Objekte desselben Pakets bilden die im Paket sichtbaren Komponenten ein Interface der Klasse.

Kapselung

Die Sichtbarkeitsbereiche bilden die Grundlage für die wichtige Objekteigenschaft der Kapselung in ABAP Objects. Bei der Definition einer Klasse sollten Sie so wenige Komponenten wie möglich im öffentlichen Bereich deklarieren. Diese öffentlichen Komponenten müssen sorgfältig angelegt werden. Bei globalen Klassen können sie nach der Freigabe der Klasse nicht mehr geändert werden.

Hinweis

Die Klasse ist die kleinste Kapselungseinheit in ABAP Objects. Eine Methode kann alle Komponenten aller Instanzen derselben Klasse verwenden, ausgenommen die Komponenten der eigenen Klasse. Eine Ausnahme dieser Regel stellen Unterklassen dar, die nicht auf die privaten Komponenten von Oberklassen zugreifen können, wenn sie nicht befreundet sind.

 

 

 

Ende des Inhaltsbereichs