请参阅以下代码:
Ex_ObjA.m
classdef Ex_ObjA
properties
a
end
methods
function Obj=Ex_ObjA(t)
Obj.a = t;
end
end
end
Ex_ObjBC.m
classdef Ex_ObjBC
properties
b
end
properties (Dependent = true, SetAccess = public)
c
end
methods
function Obj=Ex_ObjBC(t)
Obj.b = t;
end
function c=get.c(Obj,s1) % error: Get methods must have exactly one input
c = Obj.b + s1.a;
end
end
end
我试着做以下事情:
s1 = Ex_ObjA(2);
s2 = Ex_ObjBC(3);
s2.c
不成功,因为“获取方法必须只有一个输入”。我可以将s1.a
传递给Ex_ObjBC
以获取s1.c
?
答案 0 :(得分:0)
c
实际上不是一个Dependent属性,它是计算的结果。只需删除属性c
,并使用方法c = calculatec(Obj, s1)
执行与现在相同的代码。