Скрыть неактивные свойства

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

См. также