Как получить зависимое свойство в зависимости от свойств объектов различного класса в Matlab
Смотрите код ниже:
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
Не удачно, потому что "методы Get должны иметь ровно один вход". Так что я могу передать s1.a
в Ex_ObjBC
получить s1.c
?
1 ответ
c
на самом деле это не зависимое свойство, это результат вычисления. Просто избавься от собственности c
и есть метод c = calculatec(Obj, s1)
который выполняет тот же код, что и сейчас.