Ansicht
Dokumentation
ABENINHERITANCE_STATICAL - INHERITANCE STATICAL
ROGBILLS - Synchronize billing plans PERFORM Short ReferenceDiese Dokumentation steht unter dem Copyright der SAP AG.
- Vererbung und statische Komponenten
Statische Komponenten sind wie alle Komponenten nur einmal pro Vererbungsbaum vorhanden und können ab der deklarierenden Klasse verwendet werden:
- Eine Unterklasse kann auf alle nicht privaten statischen Komponenten ihrer Oberklassen zugreifen. Dabei wird immer die Klasse angesprochen, in der die statische Komponente deklariert ist.
- Von außen kann über den Klassenkomponenten-Selektor auf alle sichtbaren statischen Komponenten zugegriffen werden. Dabei kann jede Klasse angegeben werden, in der die Komponente vorhanden ist, d.h., die deklarierende Klasse und jede Unterklasse. Unabhängig vom im Klassenkomponenten-Selektor verwendeten Klassennamen wird aber immer die Klasse angesprochen, in der die Komponente deklariert ist.
Dass sowohl bei der internen als auch bei der externen Verwendung einer statischen Komponente immer die Klasse angesprochen wird, in der die Komponente deklariert ist, ist wichtig für:
- den Aufruf der statischen Konstruktoren.
- Ein statischer Konstruktor wird bei der ersten Ansprache einer Klasse aufgerufen. Wenn eine statische Komponente über den Klassennamen einer Unterklasse adressiert wird, aber in einer Oberklasse deklariert ist, wird nur der statische Konstruktor der Oberklasse aufgerufen.
- den Zugriff auf statische Attribute
- Eine Unterklasse hat Zugriff auf den Inhalt aller nicht-privaten statischen Attribute aller Oberklassen. Umgekehrt teilt sich eine Oberklasse ihre öffentlichen und geschützten statischen Attribute mit allen Unterklassen. Statische Attribute sind in der Vererbung also nicht nur in einer einzigen Klasse, sondern sozusagen im Teilbaum des Vererbungsbaums verwendbar, der aus allen Unterklassen der definierenden Klasse besteht. Änderungen der Werte sind in allen beteiligten Klassen sichtbar, unabhängig von der Klasse, aus der bzw. über die ein Attribut angesprochen wurde.
- die Registrierung von Ereignisbehandlern.
- Wenn ein Ereignisbehandler für ein von einer Oberklasse geerbtes statisches Ereignis einer Unterklasse deklariert wird, kann er nur auf dieses reagieren, wenn es von einer Methode der Unterklasse oder einer ihrer Unterklassen ausgelöst wird. Wenn das Ereignis in einer statischen Methode einer Oberklasse ausgelöst wird, wird es nicht behandelt, auch wenn der Aufruf der Methode in einer Unterklasse erfolgt oder dabei der Name der Unterklasse angegeben wird.
Hinweis
Um zu erreichen, dass ein statisches Attribut einer Klasse nicht von allen Unterklassen mit benutzt wird, kann es als privates Attribut deklariert werden.
Beispiel
Aufruf einer statischen Methode einer Oberklasse über den Namen einer Unterklasse. Vor Ausführung der Methode wird der statische Konstruktor der Oberklasse ausgeführt aber nicht der statische Konstruktor der Unterklasse. Die Methode gibt den in der Oberklasse gesetzten Wert zurück.
Beispiel
Das folgende Beispiel zeigt, wie über eine Unterklasse ein statisches Attribut einer Oberklasse geändert wird und dass die Änderung in einer Unterklasse eines anderen Pfads des Vererbungsbaums sichtbar ist.
Addresses (Business Address Services) RFUMSV00 - Advance Return for Tax on Sales/Purchases
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 4084 Date: 20240523 Time: 153102 sap01-206 ( 106 ms )