例
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指定を記述することはできません.