비활성 속성 숨기기
활성 System object™ 속성만 표시하려면 isInactivePropertyImpl
메서드를 사용하십시오. 이 메서드는 속성이 비활성인지 여부를 지정합니다. 비활성 속성은 다른 속성 값으로 인해 System object에 영향을 주지 않는 속성입니다. isInactiveProperty
메서드를 속성에 전달할 경우 메서드가 true
를 반환하면 이 속성은 비활성 상태이기 때문에 disp
함수가 호출될 때 표시되지 않습니다.
비활성 속성 지정하기
이 예제에서는 isInactiveProperty
메서드를 사용하여 종속 속성 값을 확인합니다. 이 System object에 대해 UseRandomInitialValue
속성이 true로 설정된 경우 InitialValue
속성은 아무런 영향을 주지 않습니다. isInactiveProperty
메서드는 이런 상황을 확인하고 UseRandomInitialValue
가 true
이면, 비활성 InitialValue
속성이 표시되지 않도록 true
를 반환합니다.
methods (Access = protected) function flag = isInactivePropertyImpl(obj,propertyName) if strcmp(propertyName,'InitialValue') flag = obj.UseRandomInitialValue; else flag = false; end end end
비활성 속성 메서드를 있는 완전한 클래스 정의 파일
classdef Counter < matlab.System % Counter Increment a counter % These properties are nontunable. They cannot be changed % after the setup method has been called or when the % object is running. properties (Nontunable) % Allow the user to set the initial value UseRandomInitialValue = true InitialValue = 0 end % The private count variable, which is tunable by default properties (Access = private) pCount end methods (Access = protected) % Increment the counter and return its value % as an output function c = stepImpl(obj) obj.pCount = obj.pCount + 1; c = obj.pCount; end % Reset the counter to either a random value or the initial % value. function resetImpl(obj) if obj.UseRandomInitialValue obj.pCount = rand(); else obj.pCount = obj.InitialValue; end end % This method controls visibility of the object's properties function flag = isInactivePropertyImpl(obj,propertyName) if strcmp(propertyName,'InitialValue') flag = obj.UseRandomInitialValue; else flag = false; end end end end