假设我有以下类来计算二次方程的解:
classdef MyClass < handle
properties
a
b
c
end
properties (Dependent = true)
x
end
methods
function x = get.x(obj)
discriminant = sqrt(obj.b^2 - 4*obj.a*obj.c);
x(1) = (-obj.b + discriminant)/(2*obj.a);
x(2) = (-obj.b - discriminant)/(2*obj.a);
end
end
end
Run Code Online (Sandbox Code Playgroud)
现在假设我运行以下命令:
>>quadcalc = MyClass;
>>quadcalc.a = 1;
>>quadcalc.b = 4;
>>quadcalc.c = 4;
Run Code Online (Sandbox Code Playgroud)
此时,quadcalc.x = [-2 -2].假设我quadcalc.x多次调用而不调整其他属性,即quadcalc.x = [-2 -2]每次我要求这个属性.被quadcalc.x 重新计算每一次,还是会只是"记住" [-2 -2]