Java ではインターフェース型の参照変数を宣言することができます。
この変数は、インターフェイスを実装する任意のオブジェクトを参照できます。
インターフェイス参照を通じてオブジェクトのメソッドが呼び出される場合、オブジェクトによって実装されたメソッドのバージョンが実行されます。
この動作は、スーパークラス参照を使用してサブクラス オブジェクトにアクセスするのと似ています。
重要なポイント:
参照変数宣言:
変数 ob は Series ob; として宣言されており、ob は Series インターフェイスを実装する任意のオブジェクトを参照できることを意味します。これにより、コードの柔軟性とポリモーフィズムが可能になります。
参照ストレージ:
ループ内では、ob が twoOb (ByTwos のインスタンス) と threeOb (ByThrees のインスタンス) に交互に割り当てられます。これは、単一の参照変数を使用してインターフェイスのさまざまな実装を操作する方法を示しています。
限定アクセス:
ob は Series 参照であるため、それを介して Series インターフェイスで定義されたメソッドにのみアクセスできます。これは、インターフェイスのスコープを超えたメソッドや変数にはアクセスできないことを意味します。たとえば、Series インターフェイスで宣言されていないメソッドを呼び出そうとすると、コンパイラはエラーを生成します。
利点:
ポリモーフィズム: 同じインターフェイス参照 (ob) を使用して、その参照を使用するコードを変更することなく、異なる実装 (ByTwos や ByThrees など) と対話できます。
柔軟性: インターフェイスを使用するコードに影響を与えることなく実装を変更できます。
以上がインターフェース参照の使用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。