Value vs Handle 类

MATLAB 中的类分为两大类:值类和句柄类。主要区别在于,复制值类的实例时,底层数据将复制到新实例,而对于句柄类,新实例指向原始数据,而新实例中的更改值会更改原始数据。可以通过继承 handle 类将类定义为句柄。

classdef valueClass
    properties
        data
    end
end

classdef handleClass < handle
    properties
        data
    end
end

然后

>> v1 = valueClass;
>> v1.data = 5;
>> v2 = v1;
>> v2.data = 7;
>> v1.data
ans =
     5

>> h1 = handleClass;
>> h1.data = 5;
>> h2 = h1;
>> h2.data = 7;
>> h1.data
ans =
     7