Вы не можете ссылаться на все динамические свойства в объектном массиве с помощью одного оператора, так как можете с обычными свойствами. Для примера, ObjectArrayDynamic
классы подклассы dynamicprops
класс.
classdef ObjectArrayDynamic < dynamicprops properties RegProp end methods function obj = ObjectArrayDynamic obj.RegProp = randi(100); end end end
Можно добавить динамические свойства к объектам ObjectArrayDynamic
класс. Создайте объектный массив и добавьте динамические свойства каждому представителю массива. Задайте элементы 1 и 2 следующим ObjectArrayDynamic
объекты:
a(1) = ObjectArrayDynamic; a(2) = ObjectArrayDynamic;
Добавьте динамические свойства каждому объекту и присвойте значение.
a(1).addprop('DynoProp'); a(1).DynoProp = 1; a(2).addprop('DynoProp'); a(2).DynoProp = 2;
Получите значения обычных свойств, как и в любом массиве.
a.RegProp
ans = 4 ans = 85
Однако MATLAB® возвращает ошибку, если вы пытаетесь получить доступ к динамическим свойствам всех элементов массива, используя этот синтаксис.
a.DynoProp
No appropriate method, property, or field 'DynoProp' for class
'ObjectArrayDynamic'.
Для доступа к значениям динамических свойств обратитесь к каждому объекту по отдельности:
a(1).DynoProp
ans = 1
a(2).DynoProp
ans = 2
Для получения информации о классах, которые могут задать динамические свойства, смотрите Динамические свойства - Добавление свойств к образцу.