Вы не можете сослаться на все динамические свойства в объектном массиве с помощью отдельного оператора, как вы можете с обычными свойствами. Например, 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
Для получения информации о классах, которые могут задать динамические свойства, смотрите Динамические свойства — Adding Properties к Экземпляру.