matlab类 - 方法允许用户选择要修改的属性

时间:2015-01-23 06:49:43

标签: matlab class

我想建立一个这样的类:

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?或者我的思维方法有问题吗?

1 个答案:

答案 0 :(得分:1)

是的,您可以创建类似的方法,但需要以不同方式将引用传递给字段:

methods
    function plusone(obj, propName)      
      obj.(propName).value = obj.(propName).value + 1;
    end
end

要调用该方法,请将引用作为字符串传递:

a = myclass();
a.plusone('v2')