Programming with MATLAB |
 |
C++とJavaプログラミングに対するヒント
他のオブジェクト指向言語、たとえば、C++やJavaのような言語でのプログラミングに慣れている場合、つぎの点がMATLABプログラミング言語と異なっていることがわかります。
- MATLABでは、メソッドのディスパッチは、C++やJavaのように構文ベースではありません。引数リストが、同じ優先順位のオブジェクトを含んでいる場合、MATLABは、呼び出すメソッドの順番を、最も左にあるオブジェクトからにします。
- MATLABでは、デストラクタメソッドが異なります。ワークスペースからあるオブジェクトを取り除くためには、関数
clear
を使います。
- MATLABデータタイプの生成は、コンパイル時ではなく、むしろ実行時に生じます。関数
class
を呼び出すことにより、あるクラスに属するものとしてオブジェクトを割り当てます。
- MATLAB内の継承を使う場合、継承関係は、親オブジェクトを作成し、その後に、
関数classを呼び出して、子クラスの中で作成されます。継承関係に対するコン
ストラクタの記述に関する詳細は、"他のクラスの構築"を参照してください。
- MATLABの中で継承を使用する場合、子オブジェクトは、親クラスの名前をもつプロパティ内の親オブジェクトを継承します。
- MATLABでは、リファレンスによる変数の受け渡しはありません。オブジェクトを更新するメソッドを記述する場合、更新オブジェクトを戻し、代入ステートメントを使わなければなりません。たとえば、
set
メソッドの呼び出しは、オブジェクトA
のname
フィールドを更新し、更新したオブジェクトを出力します。
A = set(A,'name','John Smith');
MATLABでは、抽象クラスに相当するものがありません。
MATLABでは、C++スコープ演算子に相当するものがありません。
MATLABでは、仮想継承または仮想基底クラスはありません。
MATLABでは、C++テンプレートに相当するものがありません。
|
データ構造 |
|
MATLAB内でのユーザのクラス設計 |
 |