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