Rational Developer for System z
COBOL for Windows バージョン 7.5 プログラミング・ガイド


ファクトリー・メソッドまたは静的メソッドの隠蔽

サブクラスで定義されたファクトリー・メソッドは、普通ならサブクラスで利用できる継承された COBOL または Java メソッドを (これら 2 つのメソッドが同じシグニチャーを持っている場合) 隠蔽 すると言います。

スーパークラス・ファクトリー・メソッド f1 を COBOL サブクラスで隠すには、スーパークラス・メソッドと名前が同じで、その PROCEDURE DIVISION USING 句 (ある場合) の 仮パラメーターの数およびタイプがスーパークラス・メソッドと同じであるサブクラスでファクトリー・メソッド f1 を定義します。(スーパークラス・メソッドが Java でインプリメントされる場合には、対応する Java パラメーターのデータ型と相互運用可能な仮パラメーターをコーディングする必要があります。) クライアントがサブクラス名を使用して f1 を呼び出すとき、スーパークラス・メソッドではなく、サブクラス・メソッドが呼び出されます。

メソッド戻り値の有無および PROCEDURE DIVISION RETURNING 句 (ある場合) で使われる戻り値のデータ型は、サブクラス・ファクトリー・メソッドと隠された スーパークラス・メソッドにおいて同一でなければなりません。

ファクトリー・メソッドは、Java または COBOL スーパークラスに、インスタンス・メソッドを隠してはいけません。

例: ファクトリーの定義 (メソッドに関して)

関連タスク
COBOL および Java での相互運用可能なデータ型のコーディング
インスタンス・メソッドのオーバーライド
メソッドの呼び出し (INVOKE)

関連参照
継承、オーバーライド、および隠蔽 (「Java 言語仕様」)
手続き部のヘッダー (「COBOL for Windows 言語解説書」)


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

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