classdef

时间:2017-11-13 12:14:33

标签: matlab oop

我在Matlab中开始使用oop,似乎错过了一些东西。

classdef car < handle

properties (Access = public)
    a
    b
end

methods
    function obj = update(obj)
        obj.b = updateB(obj.a, obj.b);
    end

    function B = updateB(a, b)
        B = a + b;
    end
end

end

我每次都会收到着名的Undefined function 'updateB' for input arguments of type 'double'.错误,我尝试调用函数update。奇怪的是,如果我将updateB更改为:

,它就有效
function B = updateB(obj)
    B = obj.a + obj.b;
end

我错过了什么?我并不总是想用obj调用updateB,因为我想在不使用实际对象属性的情况下使用该函数。

1 个答案:

答案 0 :(得分:1)

如果您不希望该方法依赖于特定实例,请使用以下方法:

self.splitViewController?.showDetailViewController