MATLAB Function Reference    
loadobj

ユーザオブジェクト用の関数 load のユーザ定義拡張版

表示

詳細

b = loadobj(a) は、ユーザオブジェクト用に、関数 load を拡張します。オブジェクトが、MAT-ファイルからロードされた場合、関数 load は、定義している場合、オブジェクトのクラスに対して、loadobj メソッドをコールします。loadobj メソッドは、つぎに示す一連のコール機能を行います。すなわち、入力引数 a は、MAT-ファイルからロードされたオブジェクトで、出力引数 b は、関数 load が、ワークスペースにロードしたオブジェクトです。

つぎのステップは、MAT-ファイルからワークスペースへのロード方法を記述するものです。

  1. 関数 load は、MAT-ファイルの中で、オブジェクト a を探します。
  2. 関数 load は、オブジェクト a と同じクラスのオブジェクトをカレントワークスペースの中で探します。ワークスペース内に同じクラスのオブジェクトが存在しない場合、load は、デフォルトのコンストラクタをコールし、ワークスペースの中に、そのクラスのオブジェクトを常駐させます。デフォルトのコンストラクタは、入力引数を設定しないで、コンストラクタ関数をコールして得られるものです。
  3. 関数 load は、オブジェクトの構造体 a が、ワークスペースの中に常駐するオブジェクトの構造体と一致するか否かをチェックします。オブジェクトが一致する場合、a がロードされます。一致しない場合、load は、a を構造体変数に変換します。
  4. 関数 load は、定義されている場合、オブジェクトのクラス用の loadobj メソッドをコールします。load は、オブジェクト a を、入力引数として、 loadobj メソッドに渡します。オブジェクト a のフォーマットは、ステップ3の結果(オブジェクトか構造体)に依存していることに注意してください。loadobj の出力引数 b は、オブジェクト a が位置している場所のワークスペース内にロードされます。

注意

loadobj は、ユーザオブジェクトに対してのみ多重定義できます。load は、組み込みのデータタイプ(たとえば、double)に対して、loadobj をコールすることはできません。

loadobj は、MAT-ファイルの中で、個々のオブジェクトに対し、別々に読み込まれます。関数 load は、 loadobj メソッドを、出会う個々のオブジェクトに適用するセル配列や構造体に継承させます。

参考

load, save, saveobj


 load load (serial)