使用其方法更改类属性

时间:2012-12-01 09:54:23

标签: matlab methods properties

我想使用为该类定义的方法更改我的类属性:

classdef triangle<handle

properties
    a
    h         
end

methods

    function obj = triangle()
        obj;
    end

    function obj = setProps(obj, a, h)
        obj.a = a;
        obj.a = h;
    end

end

end

通话:

t = triangle();
t.setProps(a, h);

它根本不起作用 - 我收到了这个错误:

 The class 'handle' is not a super-class of class 'triangle', as required to invoke a super-class constructor or method.

 Error in triangle (line 13)
    function obj = triangle()

我正在使用matlab 2012a。我的代码基于此示例:link

1 个答案:

答案 0 :(得分:2)

在执行此操作之前尝试clear。您可能已用某些内容覆盖handle。否则,这在Matlab 2012a上适用于我:

clear;

a = 'hello';
h = 1;

t = triangle();
t.setProps(a, h);