INSTANCE OF 条件は、オブジェクト参照が特定のクラスまたはインターフェイスのインスタンスであるかどうかを判別する。
一般形式
構文規則
- object-identifier-1 はオブジェクト参照とする。
- class-name-1 は、リポジトリ段落またはこのソース要素のクラス管理段落内で指定されたクラスの名前とする。
- interface-name-1 は、リポジトリ段落またはこのソース要素のクラス管理段落内で指定されたインターフェイスの名前とする。
一般規則
- いずれのオプション指定も使用しないと、object-identifier-1 オブジェクトが、class-name-1 クラスまたはそのサブクラスのインスタンスである場合、または interface-name-1 インターフェイスまたはそのサブインターフェイスのインスタンスである場合に、INSTANCE
OF テストの結果は真になる。
- FACTORY 指定を使用し、ONLY 指定は使用しない場合、object-identifier-1 オブジェクトが class-name-1 クラスのファクトリであれば、INSTANCE OF テストの結果は真となる。
- ONLY 指定を使用し、FACTORY 指定は使用しない場合、object-identifier-1 オブジェクトが class-name-1 クラスのインスタンスであり、そのサブクラスのインスタンスでなければ、INSTANCE OF テストの結果は真となる。
- FACTORY 指定と ONLY 指定の両方を使用する場合に、object-identifier-1 オブジェクトが class-name-1 クラスのファクトリであり、そのサブクラスのファクトリでなければ、INSTANCE OF テストの結果は真となる。