Konstruktor
Eine spezielle Methode einer Klasse ist der Konstruktor.
Konstruktur-Methodennamen CONSTRUCTOR und CLASS_CONSTRUCTOR
- Die Methoden für den statischen Konstruktor und den Instanzkonstruktor können in der Klasse vorhanden sein, müssen aber nicht.
- Für die Klasse gibt es den statischen Konstruktur mit dem speziellen Methodennamen CLASS_CONSTRUCTOR.
- Für die Instanzen der Klasse gibt es den speziellen Methodennamen CONSTRUCTOR
Parameter von Konstruktoren
Instanzkonstruktor
- FÜr den Instanzkonstruktor sind optionale Importparameter erlaubt. Den Methoden können also nur Variablen übergeben werden.
- Der Instanz-Konstruktor gibt keine Parameter zurück.
Statischer Konstruktor
- Der statische Konstruktur wird nicht direkt aufgerufen. Der statische Konstruktur wird implizit bei der ersten Verwendung der Klasse ausgeführt.
- Daher sind auch keine Parameter zulässig.
Anlage von Konstruktoren im Class-Builder per Menü
Der Klassen-Konstruktor sowie der Instanzkonstruktor werden nicht durch die Eingabe der Methodennamen CONSTRUCTOR bzw. CLASS_CONSTRUCTOR angelegt, sondern über das Menü im Class Builder.
Instanzkonstruktor Methode CONSTRUCTOR
Grundlagen
Bei jeder Erzeugung einer Instanz einer Klasse wird der (Instanz-)konstruktur aufgerufen, sofern er in der Klasse existiert.
In der Klasse wird diese Methode mit dem reservierten Methodennamen "Constructor" angelegt.
Beispiel für Instanz-Konstruktur CONSTRUCTOR
Methode CONSTRUCTOR ist in dem Reiter METHODEN der Klasse aufgeführt
Die Methode CONSTRUCTOR kann lediglich Importparameter haben, keine Exportparameter.
Im Rahmenprogramm wird eine Referenzvariable definiert und mit CREATE OBJECT im Hauptspeicher erzeugt. Die Importparameter des Konstrukturs werden mit Select-Options-Parametern versorgt. Da es nur eine Methode CONSTRUCTOR in einer Klasse geben kann, muss der Methodenname CONSTRUCTOR bei der Objektinstanzierung nicht angegeben werden.
DATA: go_rep TYPE REF TO ycoc_sv_clrep0001. CREATE OBJECT go_rep EXPORTING it_selopt_matnr = p_mat[] it_selopt_werks = p_wer[] it_selopt_charg = p_cha[] it_selopt_khc = p_khc[] it_selopt_lgort = p_lgo[] it_selopt_prdha = p_pha[] i_budat = p_bud i_stock = p_sto EXCEPTIONS error_selection = 1 OTHERS = 2.
Klassen-Konstruktur (CLASS-CONSTRUCTOR)
Grundlagen
Der Klassenkonstruktur wird einmalig bei der ersten Instanzierung eines Objekts einer Klasse aufgeführt, nicht bei weiteren Instanzen. Er wird mit dem reservierten Methodennamen "CLASS_CONSTRUCTOR" in der Klasse angelegt. Import- und Exportparameter sind beim Klassenkonstruktor nicht zulässig. Die Methode ist daher auch nicht bei der Instanziierung der Klasse zu sehen.
Klassenkonstruktor Coding
method CLASS_CONSTRUCTOR. break reberstein. endmethod.