Чтобы отобразить только активную Систему object™ свойства, используйте isInactivePropertyImpl
метод. Этот метод задает, неактивно ли свойство. Неактивное свойство является свойством, которое не влияет на Системный объект из-за значения других свойств. Когда вы передаете isInactiveProperty
метод свойство и метод возвращает true
, затем то свойство неактивно и не отображается когда disp
функция вызвана.
Этот пример использует isInactiveProperty
метод, чтобы проверять значение зависимого свойства. Для этого Системного объекта, InitialValue
свойство не релевантно если UseRandomInitialValue
свойство установлено в истину. Этот isInactiveProperty
метод проверяет на ту ситуацию и если UseRandomInitialValue
true
, возвращает true
скрыть неактивный InitialValue
свойство.
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