目次 | 前へ | 次へ |
Java Remote Method Invocation |
リモートインタフェースを実装するクラスの一般的な規約は、次のとおりです。
- クラスは通常
java.rmi.server.UnicastRemoteObject
を拡張することにより java.rmi.server.RemoteObject
や java.rmi.server.RemoteServer
クラスが提供するリモート動作を継承する。
- クラスは任意の数のリモートインタフェースを実装できる。
- クラスは別なリモート実装クラスを拡張できる。
- クラスはリモートインタフェースには現れないメソッドを定義することもできるが、これらのメソッドはローカルに対してだけ使用でき、リモートからは使用できない。
たとえば、次に示すクラス BankAcctImpl
は BankAccount
リモートインタフェースを実装し、java.rmi.server.UnicastRemoteObject
クラスを拡張しています。
package mypackage;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
public class BankAccountImpl
extends UnicastRemoteObject
implements BankAccount
{
private float balance = 0.0;
public BankAccountImpl(float initialBalance)
throws RemoteException
{
balance = initialBalance;
}
public void deposit(float amount) throws RemoteException {
...
}
public void withdraw(float amount) throws OverdrawnException,
RemoteException {
...
}
public float getBalance() throws RemoteException {
...
}
}
必要に応じて、リモートインタフェースを実装するクラスは java.rmi.server.UnicastRemoteObject
以外のいくつかのクラスを拡張できます。ただし実装クラスは、オブジェクトのエクスポート (UnicastRemoteObject
コンストラクタによって処理される)、および java.lang.Object
クラスから継承される hashCode
、equals
、および toString
メソッドの正しいリモートセマンティクスの実装 (必要な場合) に対する責任を負わなければなりません。
目次 | 前へ | 次へ
Copyright 1997, 2010, Oracle and/or its affiliates. All rights reserved.