Rational Developer for System z
COBOL for Windows バージョン 7.5 言語解説書


COBOL メソッド定義構造

COBOL メソッド定義ではメソッドを記述します。 メソッド定義の指定は、クラス定義の FACTORY 段落および OBJECT 段落でのみ行うことができます。

COPY および REPLACE ステートメントと END METHOD マーカーを除き、 COBOL メソッド定義のステートメント、項目、段落、およびセクションは、次の 4 つの部に分類されます。

COBOL メソッド定義の終了は END METHOD マーカーによって示されます。

COBOL メソッド定義のフォーマットは、以下のとおりです。

フォーマット: COBOL メソッド定義
構文図を読む構文図をスキップする>>-+-IDENTIFICATION-+--DIVISION.-------------------------------->
   '-ID-------------'             
 
>--METHOD-ID--+---+--メソッド名-1--+---+------------------------>
              '-.-'                '-.-'  
 
>--+------------------------+----------------------------------->
   '-その他の見出し部の内容-'  
 
>--+---------------------------------------------+-------------->
   '-ENVIRONMENT DIVISION.--メソッド環境部の内容-'  
 
>--+------------------------------------------+----------------->
   '-DATA DIVISION.--メソッド・データ部の内容-'  
 
>--+--------------------------------------------------------+--->
   '-メソッド手続き部のヘッダー--+------------------------+-'  
                                 '-メソッド手続き部の内容-'    
 
>--END METHOD--メソッド名-1------------------------------------><
 

 

METHOD-ID
メソッド定義を識別します。詳細は、METHOD-ID 段落を参照してください。
メソッド手続き部のヘッダー
手続き部の開始を示し、メソッド・パラメーターと戻り項目 (ある場合) を 識別します。詳細は、手続き部のヘッダーを参照してください。
END METHOD
メソッド定義の終了を指定します。

オブジェクト定義に定義されたメソッドは、インスタンス・メソッド です。 指定されたクラス内のインスタンス・メソッドは、以下のデータにアクセスすることができます。

インスタンス・メソッドは、親クラスに定義されたインスタンス・データ、 それ自体のクラスに定義されたファクトリー・データ、またはそのクラスの別のメソッドに 定義されたメソッド・データに、直接的にアクセスすることはできません。これらのデータにアクセスするには、 メソッドを呼び出す必要があります。

ファクトリー定義に定義されているメソッドは、ファクトリー・メソッド です。 指定されたクラス内のファクトリー・メソッドは、以下のデータにアクセスすることができます。

ファクトリー・メソッドは、親クラスに定義されたファクトリー・データ、 それ自体のクラスに定義されたインスタンス・データ、またはそのクラスの別のメソッドに 定義されたメソッド・データに、直接的にアクセスすることはできません。これらのデータにアクセスするには、 メソッドを呼び出す必要があります。

メソッドは COBOL プログラムおよびメソッドから呼び出すことができ、 Java プログラムから起動することができます。メソッドは、それ自体を直接的または間接的に呼び出す INVOKE ステートメントを実行できます。したがって、COBOL メソッドは暗黙的に再帰的 です (COBOL プログラムの再帰がサポートされるのは RECURSIVE 属性が PROGRAM-ID 段落に指定されている場合だけであるのとは異なります)。


ご利用条件 | フィードバック

Copyright IBM Corporation 1996, 2008.
このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)