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