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