我用我自己的类my_class
像创造了MATLAB对象本如何找到由自己的类创建的对象?
car = my_class();
与
classdef my_class < handle
properties
color = 'red';
end
methods
function obj = my_class()
% ...
end
end
end
现在我想通过它的类(my_class
)或属性,找到我的对象(color
)。但是findall
或findobj
总是返回一个空矩阵,无论我在做什么。你有任何线索吗?谢谢。
编辑我需要的是这样的:
car1 = my_classA();
car2 = my_classA();
house1 = my_classB(); ... house25 = my_classB();
tree1 = my_classC(); ... tree250 = my_classC();
在我的代码,我不能指手柄的名称(如car2.color
),因为我有很多不同的对象,我要搜索他们通过一个函数,看起来像下列操作之一:
loop over all objects (maybe with findobj/findall without knowing object name/handle)
if object is of class `my_classA`
get handle of `my_classA`
change `color`
else if object is of class `my_classB`
get handle of `my_classB`
do something ...
end
end
你为什么要这么做?你的用例是什么? –
我需要更改属性或需要调用多个对象的方法。但是我需要首先在某种类型的循环或类似环境中搜索指定的对象,因为我想通过它们的值而不是它们的句柄来获取对象。 – Lemonbonbon
...但为什么你不收集数组中的那些对象呢? –