exponenta event banner

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

Для отображения только активных свойств 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

См. также