目次 | 前の項目 | 次の項目 | Java Remote Method Invocation |
クライアントは、リモートオブジェクトのクラスが定義するのと「厳密に」同じセットのリモートインタフェースを持ったスタブ(代理)オブジェクトと対話します。スタブクラスには、オブジェクトの型グラフを構成するクラス階層の非リモート部分は含まれません。これは、スタブクラスは 1 つ以上のリモートインタフェースを実装するもっとも洗練された実装クラスから生成されるためです。たとえば、C が B を継承し、B が A を継承したとして、B だけがリモートインタフェースを実装する場合は、スタブが生成されるのは B からであり、C からではありません。スタブは、リモートオブジェクトクラスと同じリモートインタフェースのセットを実装するため、Java システム側から見ると、スタブはサーバオブジェクトの型グラフのリモート部分と同じ型を持つことになります。このため、クライアントは、Java の組み込み演算を利用してリモートオブジェクトの型チェックや、あるリモートインタフェースから別のインタフェースへのキャストを行うことができます。