我已經定義了一個簡單的類名爲MySettings
,它的內部保存在一個類中定義的其他設置稱爲MySubSettings
:意外的初始屬性值
%% --- Definition for MySubSettings
classdef MySubSettings < handle
properties
Fifi = 666;
end
end
%% --- Definition for MySettings
classdef MySettings < handle
properties
Riri = 42;
Subs = MySubSettings();
end
end
我第一次實例MySettings
與s = MySettings();
一切正常(物業Riri
被初始化爲42
和Subs
是MySubSettings
與初始化爲666
財產Fifi
一個實例)......到目前爲止好...
現在,如果我修改屬性值並重新分配給s
新的實例是這樣的:
s.Riri = 0;
s.Subs.Fifi = 0;
s = MySettings();
然後檢查新值,在新s
實例屬性...我有s.Riri
等於42
(預期) ...但s.Subs.Fifi
仍然等於0
,我本來期望它被重新初始化爲666
(???)
爲什麼只有Riri
初始化?我做錯了什麼或者它是一個錯誤?
注:我有R2013b和R2014b的問題。
歡迎MATLAB OOP :) – gregswiss