サブクラスで定義されたファクトリー・メソッドは、普通ならサブクラスで利用できる継承された COBOL または Java メソッドを (これら 2 つのメソッドが同じシグニチャーを持っている場合) 隠蔽 すると言います。
スーパークラス・ファクトリー・メソッド f1 を COBOL サブクラスで隠すには、スーパークラス・メソッドと名前が同じで、その PROCEDURE DIVISION USING 句 (ある場合) の 仮パラメーターの数およびタイプがスーパークラス・メソッドと同じであるサブクラスでファクトリー・メソッド f1 を定義します。(スーパークラス・メソッドが Java でインプリメントされる場合には、対応する Java パラメーターのデータ型と相互運用可能な仮パラメーターをコーディングする必要があります。) クライアントがサブクラス名を使用して f1 を呼び出すとき、スーパークラス・メソッドではなく、サブクラス・メソッドが呼び出されます。
メソッド戻り値の有無および PROCEDURE DIVISION RETURNING 句 (ある場合) で使われる戻り値のデータ型は、サブクラス・ファクトリー・メソッドと隠された スーパークラス・メソッドにおいて同一でなければなりません。
ファクトリー・メソッドは、Java または COBOL スーパークラスに、インスタンス・メソッドを隠してはいけません。
関連タスク
COBOL および Java での相互運用可能なデータ型のコーディング
インスタンス・メソッドのオーバーライド
メソッドの呼び出し (INVOKE)
関連参照
継承、オーバーライド、および隠蔽 (「Java 言語仕様」)
手続き部のヘッダー
(「COBOL for Windows 言語解説書」)