Programming with MATLAB |
 |
オブジェクト指向のプログラミングの特徴
うまく設計されたクラスを使用することで、オブジェクト指向プログラミングは、
コードの再利用を飛躍的に増やし、ユーザのプログラムを容易にし、かつ拡張し
ます。クラスとオブジェクトを使ったプログラミングは、つぎの点で、通常の構
造化プログラミングと異なります。
- 関数と演算子の多重定義:ユーザは、既存のMATLAB関数を書き換えるメソッドを
作成することができます。引数として、ユーザ定義のオブジェクトをもつ関数
をコールすると、MATLABは、まず、オブジェクトのクラスに対して定義されて
いるメソッドが存在するか否かをチェックします。存在すると、MATLABは、通
常のMATLAB関数ではなく、そのメソッドを呼び込みます。
- データとメソッドのまとめ:
オブジェクトプロパティは、コマンドラインから
見えません。すなわち、クラスメソッドと共にのみ、それらに機能します。こ
のことは、オブジェクトプロパティをオブジェクトのクラスに対して意図して
いない演算から保護できます。
- 継承:ユーザは、子クラスは親クラスからデータフィールドやメソッドを継承
すると親と子のクラスの階層構造を作成できます。子クラスは、一つの親から
の継承(単一継承)であるか、または、複数の親からの継承(多重継承)をす
ることができます。継承は、一世代、または複数の世代に渡っています。継承
は、共通の親関数を共有でき、すべての子クラス間で共通の挙動をもつことが
できます。
- 集約(aggregation):あるオブジェクトが他のオブジェクトを含むような集約を
使うクラスを作成することができます。これは、あるオブジェクトのタイプが
他のオブジェクトのタイプの一部である場合に適切です。たとえば、貯蓄アカ
ウントオブジェクトは、ファイナンシャルポートフォリオオブジェクトの一部
になっています。
|
MATLAB クラスとオブジェクト |
|
MATLABデータクラス階層 |
 |