interface-1 というインターフェイスが、別のインターフェイス interface-2 に適合するのは、次の条件が該当する場合のみである。
- interface-2 の各メソッドに対して、interface-1 には、同じ名前で同じ数のパラメーターを取り、BY REFERENCE および BY VALUE の指定が一致しているメソッドがある。
- interface-2 の所定のメソッドの仮パラメーターがオブジェクト参照である場合、interface-1 の対応する仮パラメーターは次の規則に従うオブジェクト参照である。
- interface-2 のパラメーターが非限定オブジェクト参照である場合、interface-1 の対応するパラメーターも非限定オブジェクト参照である。
- interface-2 のパラメーターがインターフェイス名を用いて記述されている場合、interface-1 の対応するパラメーターも同じインターフェイス名を用いて記述されている。
- interface-2 のパラメーターがクラス名を用いて記述されている場合、interface-1 の対応するパラメーターも同じクラス名を用いて記述されている。また、FACTORY 指定および ONLY 指定の有無も、両方のインターフェイスで共通である。
- interface-2 のパラメーターが ACTIVE-CLASS 指定を用いて記述されている場合、interface-1 の対応するパラメーターも ACTIVE-CLASS 指定を用いて記述されている。また、FACTORY 指定の有無も、両方のインターフェイスで共通である。
- interface-2 の所定のメソッドの仮パラメーターがオブジェクト参照でない場合、interface-1 の対応する仮パラメーターには同じ ANY LENGTH、PICTURE、USAGE、SIGN、SYNCHRONIZED、JUSTIFIED、および
BLANK WHEN ZERO 句が指定されている。ただし、次の場合を除く。
- 対応する通貨文字列が同じ場合に限り、通貨記号は一致する。
- DECIMAL-POINT IS COMMA 句が両方のインターフェイスでともに有効またはともに無効である場合に限り、終止符は一致する。DECIMAL-POINT IS COMMA 句が両方のインターフェイスでともに有効またはともに無効である場合に限り、カンマは一致する。
- 対応するメソッドでは、手続き部内の RETURNING 指定の有無は共通である。
- interface-2 の所定のメソッドの返却項目がオブジェクト参照である場合、interface-1 の対応する返却項目も下記の規則に従ったオブジェクト参照である。
- interface-2 の返却項目が非限定オブジェクト参照である場合、interface-1 の対応する返却項目はオブジェクト参照である。
- interface-2 の返却項目がインターフェイス int-r を識別するインターフェイス名を用いて記述されている場合、interface-1 の対応する返却項目は次のいずれかである。
- int-r を識別するインターフェイス名、または int-r を参照する INHERITS 句を用いて記述されたインターフェイスを用いて記述されたオブジェクト参照。
- クラス名を用いて記述されたオブジェクト参照。次の規則に従う。
- FACTORY 指定を用いて記述した場合、指定したクラスのファクトリ オブジェクトは、int-r を参照する IMPLEMENTS 句を用いて記述する必要がある。
- FACTORY 指定を用いずに記述した場合、指定したクラスのインスタンス オブジェクトは、int-r を参照する IMPLEMENTS 句を用いて記述する必要がある。
- interface-2 の返却項目がクラス名を用いて記述されている場合、interface-1 の対応する返却項目は次の規則に従うオブジェクト参照である。
- interface-2 の返却項目が ONLY 指定を用いて記述されている場合、interface-1 の返却項目は ONLY 指定および同じクラス名を用いて記述されている。
- interface-2 の返却項目が ONLY 指定を用いずに記述されている場合、interface-1 の返却項目は同じクラス名またはそのクラス名のサブクラスを用いて記述されている。
- FACTORY 指定の有無は共通である。
- interface-2 の返却項目が ACTIVE-CLASS 指定を用いて記述されている場合、interface-1 の対応する返却項目は ACTIVE-CLASS 指定を用いて記述されている。また、FACTORY 指定の有無は共通である。
interface-1 のメソッドの返却項目の記述が interface-2 を直接的または間接的に参照する場合、interface-2 の対応するメソッドの返却項目の記述は interface-1 を直接的にも間接的にも参照しない。
- interface-2 の所定のメソッドの返却項目がオブジェクト参照でない場合、対応する返却項目の ANY LENGTH、PICTURE、USAGE、SIGN、SYNCHRONIZED、JUSTIFIED、および BLANK WHEN ZERO
の各句が同じである。ただし、次の場合を除く。
- 対応する通貨文字列が同じ場合に限り、通貨記号は一致する。
- DECIMAL-POINT IS COMMA 句が両方のインターフェイスでともに有効またはともに無効である場合に限り、終止符は一致する。DECIMAL-POINT IS COMMA 句が両方のインターフェイスでともに有効またはともに無効である場合に限り、カンマは一致する。
- 適合チェックの観点では、集団項目は同じ長さの英数字の基本項目と同等であると見なされる。
- OPTIONAL 指定の有無は、対応するパラメーターで共通である。