Programming and Data Types    

メソッド内でのオブジェクトのインデックス付け

サブスクリプトを使ったリファレンスがクラス内で作られた場合、 MATLABは、組み込み関数subsrefを使って、メソッド自体のクラス内のデータにアクセスします。メソッドが、他のクラスからデータにアクセスすると、MATLABはそのクラス内の多重定義されたsubsref関数を呼び出します。サブスクリプトの代入とsubsasgnにも同じことがいえます。

次の例題は、employeeクラスで定義されているメソッドtestrefを示します。このメソッドは、それ自体のクラスのオブジェクト内のaddressフィールドを参照します。これを行うために、MATLABは組み込み関数subsrefを使います。また、別のクラスの同じフィールドを、そのクラスの多重定義されたsubsref関数を使って参照します。

例題では、employeeオブジェクトとcompanyオブジェクトを作成します。

employeeクラスメソッドtestrefが呼び出されます。 MATLABは、メソッド自体のクラスの外のデータにアクセスする時のみ、多重定義されたsubsrefを使います。


  サブスクリプトを使った代入 オブジェクトに対して、endインデックスの定義