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