gny*_*his 8 matlab properties class
我试图更多地了解Matlab类及其属性.这是我创建的测试类:
classdef Test
properties
% Properties of the network type
some_var
end
methods
function N = Test()
end
function change_var( N, val )
N.some_var=val;
end
end
end
Run Code Online (Sandbox Code Playgroud)
现在,我创建了这个类的实例,并调用"change_var()"...
>> a=Test;
>> a.change_var(2);
>> a.some_var
ans =
[]
Run Code Online (Sandbox Code Playgroud)
为什么属性"some_var"没有在赋值中使用值"val"?
b3.*_*b3. 12
所述Test类被定义为一个值级,而不是把手类.实际上,当你打电话时a.change_var,a是按值传递的.要将更改存储到some_var属性,请执行以下操作:
>> a = Test; >> a = a.change_var(2);
另一种方法是创建Test一个句柄类,在这种情况下,您的问题中的示例将按预期工作.为此,handle通过将类定义的第一行更改为此类来继承该类:
classdef Test < handle
| 归档时间: |
|
| 查看次数: |
4084 次 |
| 最近记录: |