Main Content

matlab.System 클래스

System Object의 기본 클래스

설명

matlab.System은 System Object에 대한 기본 클래스입니다. 클래스 정의 파일에서 사용자는 이 기본 클래스(또는 이 기본 클래스에서 파생한 다른 클래스)에서 객체의 서브클래스를 생성해야 합니다. 서브클래스를 생성하면 이 기본 클래스에서 제공하는 구현 메서드와 서비스 메서드를 사용하여 객체를 빌드할 수 있습니다. 다음 구문을 클래스 정의 파일의 첫 번째 라인으로 입력하여 matlab.System 기본 클래스에서 직접 상속합니다. 여기서 ObjectName은 객체의 이름입니다.

classdef ObjectName < matlab.System

참고

코드에서 사용하는 matlab.System 메서드마다 Access = protected를 설정해야 합니다.

matlab.System 클래스는 handle 클래스입니다.

클래스 특성

Abstract
true
HandleCompatible
true
StrictDefaults
false

클래스 특성에 대한 자세한 내용은 클래스 특성 항목을 참조하십시오.

메서드

모두 확장

생성

설명

예제

function obj = ObjectName(varargin)ObjectName System object™를 생성하고 이름-값 쌍 입력값에서 속성을 설정합니다.

System object 생성자는 클래스 파일의 퍼블릭 메서드입니다. 메서드 이름은 클래스 이름과 일치합니다. System object를 만들 때 디폴트가 아닌 값으로 속성을 초기화하기 위해 생성자가 호출됩니다. 생성자는 새 System object를 반환합니다.

생성자 내에서 다음 구문 중 하나를 사용하여 setProperties를 호출하십시오.

예제

setProperties(obj, nargin, varargin{:})은 이름-값 인수를 사용하여 System object의 속성이 설정되도록 지정합니다.

예제

setProperties(obj, nargin, varargin{:}, Prop1, ..., PropN)은 값 단독 인수를 사용하여 System object의 속성이 설정되도록 지정합니다.

: 생성자의 본문 내에 속성값을 할당하지 마십시오. 할당할 경우 System 블록, MATLAB 스크립트, 생성 코드와 같은 여러 환경에서 System object를 사용할 경우 문제가 발생할 수 있습니다. 대신, 디폴트 속성값을 사용하거나 setupImpl 내의 값을 변경하십시오.

예제

모두 축소

이 예제에서는 AddOne이라고 하는 기본 System object™를 작성하는 방법을 보여줍니다.

MATLAB®에서 새로 만들기 > System Object > 기본을 선택합니다. 새 편집기 창이 열리고 새 System Object의 디폴트 구문과 주석이 표시됩니다.

클래스 이름을 AddOne으로 바꿉니다. 클래스가 다음과 같이 되도록 디폴트 템플릿을 수정합니다.

classdef AddOne < matlab.System
% ADDONE Compute an output value that increments the input by one

    methods (Access = protected)
       % Implement algorithm. Calculate y as a function of input x.
       function y = stepImpl(~,x)
          y = x + 1;
       end    
    end
end

AddOne 인스턴스를 만들고 입력값과 함께 객체를 실행하여 이 객체를 사용합니다.

addingObject = AddOne;
x = 5;
addingObject(x)
ans = 6

이름-값 쌍 입력 인수를 허용하는 System object 생성자를 정의합니다.

이름-값 쌍 입력값의 생성자를 정의합니다.

function obj = Counter(varargin)
    % Support name-value pair arguments when constructing object
    setProperties(obj,nargin,varargin{:})
end

이 생성자 본문에서 이름-값 쌍을 사용하여 Counter 객체를 만듭니다.

myObj = Counter('StartValue',0,'UseIncrement',true);

값 단독 입력 속성을 사용하여 System object 생성자를 정의합니다.

'StartValue'를 값 단독 속성 입력값으로 하여 생성자를 정의합니다. 이 생성자는 이름-값 입력값도 허용합니다.

function obj = Counter(varargin)
    % Support value-only argument for StartValue when instantiating
    setProperties(obj,nargin,varargin{:},'StartValue');
end

이 생성자 본문에서 값 단독 인수(StartValue 속성의 경우) 및 이름-값 쌍(다른 속성의 경우)을 사용하여 Counter 객체를 만듭니다.

myObj = Counter(0,'UseIncrement',true);

세부 정보

모두 확장

버전 내역

R2011b에 개발됨