Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Methode NEW

&pagelevel(5)&pagelevel

NEW ist eine Fabrikmethode, die einen Standardmechanismus bietet, um Objekte einer Klasse zu erzeugen. Mit COBOL-Sprachmitteln beschrieben, sieht die Schnittstelle der Methode NEW wie folgt aus:

Interface-id. BaseFactoryInterface.
Procedure division.
   Method-id. New.
   Data division.
   Linkage section.
   01 outObject usage object reference active-class.
   Procedure division returning outObject.
   End-method New.
End Interface BaseFactoryInterface.

Allgemeine Regeln

  1. Die Methode NEW teilt Speicherplatz für ein Objekt zu und initialisiert seine Daten. Ein Objekt befindet sich unmittelbar nach seiner Erzeugung im Initialzustand.

  2. Ist für das Erzeugen eines neuen Objektes nicht ausreichend Speicherplatz vorhanden, so entsteht die Ausnahmesituation EC-OO-RESOURCE. Der weitere Ablauf erfolgt entsprechend Regel 6 f) der INVOKE-Anweisung (siehe Abschnitt „INVOKE-Anweisung").

Beispiel 12-25

Methode NEW überschreiben

Die Methode NEW kann überschrieben werden, um zusätzliche objektspezifische Initialisierungen auszuführen, die über die Initialwerte aus den VALUE Klauseln hinausgehen. In diesem Fall ist vorher das neue Objekt mit Hilfe der „originalen“ NEW Methode zu erzeugen.

...
FACTORY.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 ident pic 9(9)  COMP VALUE 0.
...
METHOD-ID.         NEW OVERRIDE.
DATA DIVISION.
LINKAGE SECTION.
01 neues-objekt    USAGE OBJECT REFERENCE ACTIVE-CLASS.
PROCEDURE DIVISION RETURNING neues-objekt.
1.
   INVOKE SUPER "NEW" RETURNING neues-objekt.
   COMPUTE ident = ident + ...  
   INVOKE neues-objekt "SPEZIELLE-INITIALISIERUNGEN" USING ident...
   ... 
2. 
   EXIT METHOD.
END METHOD         NEW.
...