假设我有一个myClass < handle
,并带有属性A
。如果我创建了一个myClass
的实例,比如说myObj
,并将myObj.A
传递给一个函数,比如说function myFunc(val)
,那么myFunc
内部是否有可能看到val
传递给它的属性是myObj
?MATLAB - 获取属性所属的对象?
编辑:对于背景:
我正在写一个API(在某种意义上)与Arduino硬件为我的研究实验室接口。总体类别被称为Vehicle
,其属性为PinManager < handle
,TelemCollector < handle
和各种Device < handle
。它也有办法做像runMotor()
,getAltitude()
等。我有一个方法TelemCollector.telemFetch()
这是一个计时器事件的回调;我想TelemCollector.telemFetch()
能够访问Vehicle
方法(即getAltitude()
);天真地,我只会让Vehicle
属于TelemCollector
来访问这些方法。我希望不必这样做。
EDIT2:什么我试图完成的示例代码段:
classdef Vehicle < handle
properties
PinManager
TelemCollector
Devices
end
methods
function obj = Vehicle(PM, TC, D)
obj.TC = TelemCollector();
obj.PM = PinManager();
obj.Devices = D();
end
function val = getAltitude(obj)
%# read altitude from a connected Device
end
function val = getSpeed(obj)
%# read speed from connected Device
end
end
end
classdef TelemCollector < handle
properties
%# ...
end
methods
function fetchTelem(obj)
%# do getAltitude(), getSpeed(), etc, here.. but I want to access
%# Vehicle.getAltitude() and Vehicle.getSpeed() somehow!
end
end
end
我不太明白 - 首先,你说车辆类TelemCollector的属性,并且在你结束你说你是想给TelemCollector型车辆的性能?如果telemFetch()需要访问这两个对象的内部结构,它需要是“外”对象的方法,而不是一个内,使其工作。 –
...也许你可以张贴实际的代码片段,而不是一个文字描述;这会更容易理解...... –
将代码片段添加到OP。我想'telemFetch()'访问'Vehicle'方法;这是可行的,如果'Vehicle'那'TelemCollector'是一个属性是TelemCollector'的'属性。因为一切都是句柄,他们会引用正确的对象实例。当然,我真的不想那样做。 –