0

そのクラスに定義されたメソッドを使用してクラスのプロパティを変更したいのですが、次のようになります。

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()

matlab2012aを使用しています。私のコードはこの例に基づいています:link

4

1 に答える 1

2

これを行う前に試してくださいclearhandle何かで上書きした可能性があります。それ以外の場合、これはMatlab2012aで​​機能します。

clear;

a = 'hello';
h = 1;

t = triangle();
t.setProps(a, h);
于 2012-12-01T16:00:20.590 に答える