構築時におけるプロパティ値の設定
この例では、System object™ コンストラクターを定義して、プロパティの名前と値のペアを入力として受け入れられるようにする方法を示します。
名前/値ペア入力の使用をプロパティに設定
System object コンストラクターを定義します。これは、クラス (この例では MyFile
) と同じ名前をもつメソッドです。このメソッド内で setProperties
メソッドを使用して、オブジェクトを作成する際にすべてのパブリック プロパティに入力できるようにします。nargin
は入力引数の数を決定する MATLAB® 関数です。varargin
は、オブジェクトのすべてのパブリック プロパティを示します。
methods function obj = MyFile(varargin) setProperties(obj,nargin,varargin{:}); end end
コンストラクター設定をもつ完全なクラス定義ファイル
classdef MyFile < matlab.System % MyFile write numbers to a file % These properties are nontunable. They cannot be changed % after the setup method has been called or while the % object is running. properties (Nontunable) Filename ="default.bin" % the name of the file to create Access = 'wb' % The file access character vector (write, binary) end % These properties are private. Customers can only access % these properties through methods on this object properties (Hidden,Access = private) pFileID; % The identifier of the file to open end methods % You call setProperties in the constructor to let % a user specify public properties of object as % name-value pairs. function obj = MyFile(varargin) setProperties(obj,nargin,varargin{:}); end end methods (Access = protected) % In setup allocate any resources, which in this case is % opening the file. function setupImpl(obj) obj.pFileID = fopen(obj.Filename,obj.Access); if obj.pFileID < 0 error("Opening the file failed"); end end % This System object writes the input to the file. function stepImpl(obj,data) fwrite(obj.pFileID,data); end % Use release to close the file to prevent the % file handle from being left open. function releaseImpl(obj) fclose(obj.pFileID); end end end