loadobj
オブジェクトの読み込み過程をカスタマイズ
説明
メモ
loadobj および saveobj よりも matlab.mixin.CustomElementSerialization クラスが推奨されます。これは、mixin では、プロパティの追加、削除、名前変更など、オブジェクトのシリアル化および逆シリアル化の方法をより詳細に制御できるためです。 (R2024b 以降)
は、b = loadobj(a)a で表されるオブジェクトを逆シリアル化します。MAT ファイルから読み込む際にクラスのオブジェクトで特別な処理が必要になる場合は、loadobj メソッドを定義します。saveobj メソッドを定義する場合、loadobj メソッドを定義してオブジェクトを目的の状態に戻します。オブジェクトのクラスで loadobj メソッドが定義されている場合、load はそのメソッドを自動的に呼び出します。
例
入力引数
出力引数
ヒント
loadobjを静的メソッドとして定義します。スカラー オブジェクトまたは構造体を扱えるように
loadobjメソッドを実装します。オブジェクト配列が逆シリアル化された後、保存された配列の各要素に対してloadがloadobjを呼び出します。新しいバージョンのクラスがプロパティの削除や名前変更、検証の変更を行った場合、
loadが変更または削除されたプロパティの設定を試みるとエラーが発生することがあります。クラスでloadobjメソッドが定義されている場合、MATLAB はstructを用いて、保存された値をloadobjメソッドに返します。保存されたオブジェクトが、同じ名前のプライベート プロパティをもつ複数のスーパークラスから派生している場合、structにはすぐ上のスーパークラスのプロパティ値のみが含まれます。サブクラスのオブジェクトを読み込む場合、関数
loadはサブクラスのloadobjメソッドのみを呼び出します。loadobjメソッドがスーパークラスで定義されると、サブクラスはこのメソッドを継承します。ただし、継承されたメソッドは、サブクラスのオブジェクトを読み込むために必要な操作を実行しない可能性があります。アプリケーションに必要な場合は、スーパークラスのloadobjメソッドをオーバーライドすることを検討してください。サブクラスのloadobjからスーパークラスのloadobjを呼び出すこともできます。
バージョン履歴
R2006a より前に導入