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メソッド | ![]() |