MATLAB 类的深入解析:值类、句柄类与访问控制
1. MATLAB 中的值类与句柄类
MATLAB 支持两种类型的类:值类(Value Classes)和句柄类(Handle Classes)。这两种类在对象赋值和内存管理方面有着显著的区别。
1.1 值类
值类在赋值时会复制原始对象,内存中会存在两个独立的对象。对其中一个对象的修改不会影响另一个对象。例如,我们创建一个向量类:
a = vector(3,4);
b = a;
b.x = -1;
b.y = 0;
此时, a 的属性值不会因为 b 的修改而改变。这表明 a 和 b 是两个独立的对象。
值类通常用于存储计算所需的数据值,如 MATLAB 中的 double 、 single 、 int32 等标准数据类型实际上都是值类。在 MATLAB 中,创建值类的方法是定义一个不是句柄对象子类的类。
当不再需要值类对象时,可以使用 clear 命令将其从内存中删除。例如:
whos; % 查看当前内存中的对象
clear a; % 删除对象 a
whos; % 再次查看内存中的对象
超级会员免费看
订阅专栏 解锁全文
9

被折叠的 条评论
为什么被折叠?



