Чтобы отобразить только активные свойства 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