【发布时间】:2011-12-27 06:56:16
【问题描述】:
假设我有以下类计算二次方程的解:
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
现在假设我运行以下命令:
>>quadcalc = MyClass;
>>quadcalc.a = 1;
>>quadcalc.b = 4;
>>quadcalc.c = 4;
此时,quadcalc.x = [-2 -2]。假设我多次调用quadcalc.x 而不调整其他属性,即每次我请求此属性时都调用quadcalc.x = [-2 -2]。 quadcalc.x 重新计算每次,还是只是“记住”[-2 -2]?
【问题讨论】: