matlab类中增加公共属性,在面向对象的MATLAB中,属性如何工作?

使用香草类

使用香草类时,您需要告诉Matlab存储对象的修改副本以保存属性值中的更改。所以,

>> a=testprop

>> a.Request(5); % will NOT change the value of a.numRequests.

5

>> a.Request(5)

5

>> a.numRequests

ans =

0

>> a=a.Request; % However, this will work but as you it makes a copy of variable, a.

5

>> a=a.Request;

5

>> a.numRequests

ans =

2

使用句柄类

如果你继承了handle类,那就是

classdef testprop < handle

那么你可以写,

>> a.Request(5);

>> a.Request(5);

>> a.numRequests

ans =

2

更新:使用香草类

由于Kamran注意到上述的工作,问题示例代码中的Request方法的定义需要更改,以包含一个类型为testprop的输出参数。

感谢卡姆兰

你可能感兴趣的:(matlab类中增加公共属性)