| 目次 | 前へ | 次へ | 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.