Giả sử tôi có lớp sau đó tính toán các giải pháp cho phương trình bậc hai:MATLAB - tính chất phụ thuộc và tính toán
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
Bây giờ giả sử tôi chạy các lệnh sau:
>>quadcalc = MyClass;
>>quadcalc.a = 1;
>>quadcalc.b = 4;
>>quadcalc.c = 4;
Tại thời điểm này, quadcalc.x = [-2 -2]
. Giả sử tôi gọi quadcalc.x
nhiều lần mà không điều chỉnh các thuộc tính khác, tức là, quadcalc.x = [-2 -2]
mỗi lần tôi yêu cầu thuộc tính này. Có phải quadcalc.x
được tính toán lại mỗi lần duy nhất hay nó chỉ "ghi nhớ" [-2 -2]?
Giả sử tôi đã sử dụng 'x' trong các thuộc tính phụ thuộc khác; 'x' cũng sẽ được tính toán lại cho mọi thuộc tính phụ thuộc khác, đúng không? –
@ strictrude27: Có. – Jonas