我对如何在matlab中使用句柄对象作为属性感到困惑.例如,我定义了以下类:
classdef Page < handle
properties
word1;
word2;
end
classdef Book < handle
properties
page1 = Page;
page2 = Page;
end
Run Code Online (Sandbox Code Playgroud)
现在我实例化两本书:
iliad = Book;
odyssey = Book;
Run Code Online (Sandbox Code Playgroud)
如果我检查iliad和odyssey是否相同:
eq(iliad, odyssey)
Run Code Online (Sandbox Code Playgroud)
我明白了:
ans = logical 0
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好
但是,如果我检查iliad和odyssey的page1是否相同:
eq(iliad.page1, odyssey.page1)
Run Code Online (Sandbox Code Playgroud)
我明白了:
ans = logical 1
Run Code Online (Sandbox Code Playgroud)
这个不好!这意味着如果我改变odyssey的page1,iliad的page1也会改变.我有什么误会?我该如何处理这个问题?