外部インタフェース/API | ![]() ![]() |
MATLABコマンドに影響を与えるJavaメソッド
Javaオブジェクトおよび配列に対して機能するMATLABコマンドは、これらのオブジェクトのクラスによって実現されるか、あるいは継承されるメソッドを利用します。MATLABコマンドの中には、依存するJavaメソッドを変更することによって、挙動を多少変更することができるものがあります。
DISPおよびDISPLAYの効果の変更
disp
コマンドを使ってMATLABにおいて変数や式の値を表示することができます。セミコロンを使わずにコマンドラインを終了させても、disp
関数を呼び出します。disp
を使ってMATLABにJavaオブジェクトを表示することも可能です。
disp
がJavaオブジェクトに対して機能するとき、MATLABは、オブジェクトが属するクラスのtoString
メソッドを使って、出力を書式化します。クラスがこのメソッドを実現しない場合は、継承されたtoString
メソッドが用いられます。中間のancestorクラスがこのメソッドを定義しない場合、java.lang.Object
クラスによって定義されたtoString
メソッドを用います。そのようなメソッドをクラス定義内で実現することによって、作成するクラス内の継承されたtoString
メソッドを変更することができます。この方法で、MATLABがクラスのオブジェクトに関する情報を表示する方法を変更することができます。
ISEQUALの効果の変更
MATLABのisequal
コマンドは、2つあるいはそれ以上の配列のタイプ、サイズ、内容の等しさを比較します。このコマンドは、Javaオブジェクトの等しさをテストするためにも用いられます。
isequal
を使って2つのJavaオブジェクトを比較するとき、MATLABはJavaメソッドequals
を使って比較を行います。MATLABは、最初にコマンドで指定されたオブジェクトのクラスを決定し、つぎにクラスによって実現されたequals
メソッドを使います。このクラス内で実現されていない場合は、継承されたequals
メソッドが用いられます。中間のancestorクラスがこのメソッドを定義しない場合は、これは、java.lang.Object
クラスによって定義されたequals
メソッドです。
クラス定義内でそのようなメソッドを実現することによって、作成したクラス内の継承されたequals
メソッドを変更することができます。この方法で、MATLABがクラスのメンバの比較を行う方法を変更することができます。
DOUBLEおよびCHARの効果の変更
JavaメソッドtoDouble
およびtoChar
を定義して、MATLABのdouble
およびchar
コマンドの出力を変更することも可能です。詳細は、「MATLAB doubleデータタイプへの変換」と「MATLAB charデータタイプへの変換」を参照してください。
![]() | メソッドに関する情報の取得 | 未定義のメソッドの取り扱い方法 | ![]() |