Programming with MATLAB | ![]() ![]() |
例題-saveobjとloadobjの定義
"例題:ポートフォリオコンテナ"の節で、ポートフォリオオブジェクトは、クライアントの投資ポートフォリオに関する情報を集めるのに使われています。そして、アカウント番号をセーブする個々のポートフォリオオブジェクトに加えることを仮定します。セーブ演算中に自動的にこの仕事を実行するポートフォリオsaveobj
メソッドを定義できます。
アカウント番号をもたないポートフォリオオブジェクトの番号を既にセーブして
いると仮定します。ユーザはロード中にこれらのオブジェクトをアップデートし
ようとします。そして、まだ、正しいポートフォリオオブジェクトのままの状態
を仮定します。ポートフォリオクラスに対して、loadobj
メソッドを定義すること
により、これを実行します。
コード変更のまとめ
アカウント番号のシナリオを実行するため、つぎの関数を加えたり、変更する必要があります。
portfolio
-
ポートフォリオコンストラクタメソッドは、新しいフィールドaccount_number
を作成するために変更する必要があります。このフィールドは、オブジェクトが作成されるとき、空の文字列に初期化されるものです。saveobj
-
新しいポートフォリオメソッドが、セーブ作業中に、アカウント番号を
ポートフォリオオブジェクトに加えるように設計されています。これは、オブ
ジェクトがまだアカウント番号をもっていない場合のみです。loadobj
-
新しいポートフォリオメソッドが、アカウント番号構造体フィールドが
加えられる前のセーブされるポートフォリオオブジェクトのより古いバー
ジョンをアップデートするように設計します。 subsref
-
ポートフォリオメソッドの範囲外にあるポートフォリオオブジェクトにサブスクリプトを使ったリファレンスにする新しいポートフォリオメソッ
ドです。getAccountNumber
-
クライアント名の最初の三文字から構成されるアカウント番号を戻すMATLAB関数新しいポートフォリオクラスの挙動
この例題の中で、行われる付加や変更で、ポートフォリオクラスは、つぎのようになります。
![]() |
オブジェクトのセーブとロード | saveobjメソッド | ![]() |