例
000001 IDENTIFICATION DIVISION.
000002 CLASS-ID. C5747PA.
000003 ENVIRONMENT DIVISION.
000004*
000005 IDENTIFICATION DIVISION.
000006 OBJECT.
000007 ENVIRONMENT DIVISION.
000008 DATA DIVISION.
000009 WORKING-STORAGE SECTION.
000010 01 OID PIC S9(9) COMP-5.
000011 PROCEDURE DIVISION.
000012 IDENTIFICATION DIVISION.
000013 METHOD-ID. NEW.
000014 ENVIRONMENT DIVISION.
000015 DATA DIVISION.
000016 LINKAGE SECTION.
000017 01 LK1 PIC S9(9) COMP-5.
000018 PROCEDURE DIVISION USING BY VALUE LK1.
000019 MOVE LK1 TO OID
000020 END METHOD NEW.
000021 END OBJECT.
000022 END CLASS C5747PA.
000001 IDENTIFICATION DIVISION.
000002 CLASS-ID. C5747 INHERITS C5747PA.
000003 ENVIRONMENT DIVISION.
000004 CONFIGURATION SECTION.
000005 REPOSITORY.
000006 CLASS C5747PA.
000007*
000008 IDENTIFICATION DIVISION.
000009 OBJECT.
000010 DATA DIVISION.
000011 WORKING-STORAGE SECTION.
000012 PROCEDURE DIVISION.
000013*
000014 IDENTIFICATION DIVISION.
000015 METHOD-ID. NEW.
000016 ENVIRONMENT DIVISION.
000017 DATA DIVISION.
000018 PROCEDURE DIVISION.
000019 INVOKE SUPER "NEW" USING BY VALUE 1
000020 RETURNING SELF
000021 END METHOD NEW.
000022 END OBJECT.
000023 END CLASS C5747.
C5747.cob (20) : JMN5747I-S 定義済みオブジェクト一意名SUPERによる親クラスの'NEW'メソッドの呼出しでは,RETURNING指定は記述できません.INVOKE文を無効とします.
詳細な説明
NetCOBOL for .NETでは,パラメタのないNEWメソッド(コンストラクタ)の定義を含まないクラスを継承する場合,次のことをする必要があります.
NEWメソッド(コンストラクタ)を明に定義する.
NEWメソッドの手続きの先頭(宣言部分は除く)でSUPERを使用して,親クラスのNEWメソッドを呼び出す.
この親クラスのNEWメソッドの呼び出しに際しては,RETURNING指定を記述することはできません.