| Programming with MATLAB |
株式setメソッド
setメソッドは、getメソッド同様に"プロパティ名"を使ったインタフェースを提供します。これを使って、株式数、株価、項目(descriptor)を更新できます。カレント値と日付は、自動的に更新されます。
function s = set(s,varargin)
% SET 株式プロパティに指定した値を設定
% アップデートオブジェクトを出力
property_argin = varargin;
while length(property_argin) >= 2,
prop = property_argin{1};
val = property_argin{2};
property_argin = property_argin(3:end);
switch prop
case 'NumberShares'
s.num_shares = val;
case 'SharePrice'
s.share_price = val;
case 'Descriptor'
s.asset = set(s.asset,'Descriptor',val);
otherwise
error('Invalid property')
end
end
s.asset = set(s.asset,'CurrentValue',...
s.num_shares * s.share_price,'Date',date);
この関数は、新しい値をもった新しい株式オブジェクトを作成し、それを戻して、古い値に上書きします。たとえば、株式オブジェクトを与えて、
s = stock('XYZ',100,25);
s = set(s,'SharePrice',36);
MATLABは、リファレンスで渡される引数をサポートしていないので、オリジナルの株式オブジェクト上にコピーする必要があります(たとえば、出力をsに代入)。そのため、setメソッドは、実際にオブジェクトのコピーに適用されます。
| 株式getメソッド | 株式subsrefメソッド |