| Programming with MATLAB |
株式コンストラクタメソッド
株式コンストラクタは、三つの入力引数から株式オブジェクトを作成します。
コンストラクタは、資産オブジェクトを株式コンストラクタの中から作成し、それを親として株式オブジェクトに設定することができます。そのため、株式コンストラクタは、資産コンストラクタを呼びます。株式オブジェクトを作成するために呼ばれる関数classは、親として資産オブジェクトを定義します。
資産オブジェクトが株式コンストラクタ関数のテンポラリなワークスペースの中で作成され、株式構造体の中にあるフィールド(.asset)としてストアされます。株式オブジェクトは、資産フィールドを継承しますが、資産オブジェクトはベースのワークスペースに戻されません。
function s = stock(varargin)
% STOCK 株式クラスコンストラクタ
% s = stock(descriptor, num_shares, share_price)
switch nargin
case 0
% 入力引数がない場合、デフォルトオブジェクトが作成されます。
s.num_shares = 0;
s.share_price = 0;
a = asset('none',0);
s = class(s, 'stock',a);
case 1
% クラス stock の引数が一つの場合、それを戻します。
if (isa(varargin{1},'stock'))
s = varargin{1};
else
error('Input argument is not a stock object')
end
case 3
% 指定した値を使って、オブジェクトを作成
s.num_shares = varargin{2};
s.share_price = varargin{3};
a = asset(varargin{1},'stock',varargin{2} * varargin{3});
s = class(s,'stock',a);
otherwise
error('Wrong number of input arguments')
end
コンストラクタの呼び込み構文
株式コンストラクタメソッドは、つぎの三つの方法のいずれかを使って呼び込みます。
たとえば、つぎのステートメントは、一株25ドルのXYZ社の株式100株の所有を記録する株式オブジェクトを作成します。.
XYZ_stock = stock('XYZ',100,25);
| 株式クラスの設計 | 株式getメソッド |