外部インタフェース/API | ![]() ![]() |
Javaオブジェクトのメソッドの実行
本節は、MATLABでのオブジェクトのメソッドの実行方法を説明します。また、利用するメソッドに関する情報の取得方法やMATLABがどのように非標準の状況のタイプを扱うかについても説明します。
Javaオブジェクトにおいてメソッドを呼び出すには、Javaのシンタックスを利用します。
object.method(arg1,...,argn
)
つぎの例では、frame
は上記で作成されたjava.awt.Frame
オブジェクトで、getTitle
とsetTitle
はそのオブジェクトのメソッドです。
frame.setTitle('Sample Frame') title = frame.getTitle title = Sample Frame
あるいは、MATLABのシンタックスを使ってJavaオブジェクト(非スタティック)メソッドを呼び出すことができます。
method(object, arg1,...,argn
)
MATLABシンタックスでは、上記のjava.awt.Frame
の例題はつぎのようになります。
setTitle(frame, 'Sample Frame') title = getTitle(frame) title = Sample Frame
本章のすべてのプログラミングの例題は、Javaオブジェクトメソッドの呼び出しを含みます。たとえば、「URLの読み込み」のコードは、MATLABシンタックスを使ったjava.net.URL
オブジェクトurl
に対するopenStream
メソッドの呼び出しを含みます。
is = openStream(url)
他の例題では、「Phone Bookの作成と利用」のコードは、Javaシンタックスを使った、java.utils.Properties
オブジェクトpb_htable
に対するload
メソッドの呼び出しを含みます。
pb_htable.load(FIS);
非スタティックメソッドに対してjavaMethod関数を利用
ある状況下では、javaMethod
関数を使ってJavaメソッドを呼び出す必要がある場合があります。つぎのシンタックスは、x1,...,xn
に一致する引数リストを使って、method_name
,メソッドをJavaオブジェクトJ
について呼び出します。これは、値X
を出力します。
X = javaMethod('method_name
',J,x1,...,xn);
たとえば、1つの引数を渡してjava.lang.String
オブジェクトについてstartsWith
メソッドを呼び出すには、以下を使います。
gAddress = java.lang.String('Four score and seven years ago'); str = java.lang.String('Four score'); javaMethod('startsWith', gAddress, str) ans = 1
31文字よりも長い名前を持つメソッドを呼び出す唯一の方法は、javaMethod
を使うことです。「JavaとMATLABの呼び出しシンタックス」で説明されているJavaとMATLABの呼び出しシンタックスは、この長さのメソッド名を扱えません。
javaMethod
を使って、実行時に呼び出されるメソッドを指定することもできます。この状況で、ユーザコードは、メソッド名引数の代わりに文字列変数を使ってjavaMethod
を呼び出します。javaMethod
を使ってスタティックメソッドを呼び出すとき、クラス名引数の代わりに文字列変数を使うこともできます。
注意
一般的に、javaMethod を使う必要はありません。Javaメソッドの呼び出しに対するデフォルトのMATLABシンタックスは、簡単で、ほとんどのアプリケーションに対して望ましいものです。主として、上記で説明した2つの場合に対してjavaMethod を使ってください。 |
![]() | オブジェクトのクラスの決定 | Javaクラスに対するスタティックメソッドの呼び出し | ![]() |