我想建立一个这样的类:
classdef myclass < handle
properties
v1 = struct('value', 100)
v2 = struct('value', 200);
end
methods
function plusone(obj, vars) % SHOULD BE MODIFIED SOMEHOW??
vars.value = vars.value + 1;
end
end
end
我的问题是,如何编写方法plusone
所以在命令窗口中我可以选择我要修改的属性,即我选择修改属性{{1} }:
v2
更新对象a = myclass();
a.plusone(a.v2);
的变量value
的字段v2
?或者我的思维方法有问题吗?
答案 0 :(得分:1)
是的,您可以创建类似的方法,但需要以不同方式将引用传递给字段:
methods
function plusone(obj, propName)
obj.(propName).value = obj.(propName).value + 1;
end
end
要调用该方法,请将引用作为字符串传递:
a = myclass();
a.plusone('v2')