생성 시에 속성값 설정하기
이 예제에서는 System object™ 생성자를 정의하고 이 생성자가 이름-값 쌍을 입력값으로 받을 수 있도록 하는 방법을 보여줍니다.
이름-값 쌍 입력값을 사용하도록 속성 설정하기
클래스(이 예제에서는 MyFile
)와 동일한 이름을 갖는 메서드인 System object 생성자를 정의합니다. 이 메서드 내에서 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