0

単一の関数を使用して、クラスの複数のプロパティを返そうとしています。

classdef myClass

    properties
        a
        b
        c
    end

    methods

        % ...

        function P = returnABC(obj)
            P = [obj.a obj.b obj.c];
        end

    end

私はそれが正しくないことを知っていますが、それは私が達成しようとしていることを表しています。修正を手伝ってもらえますか?

4

2 に答える 2

1

これは、通常の関数を使用するのと同じ方法で実行できます。

classdef myClass

    properties
        a
        b
        c
    end

    methods

        % ...

        function [a, b, c] = returnABC(obj)
            a = obj.a;
            b = obj.b;
            c = obj.c;
        end

    end
于 2012-12-01T19:14:49.167 に答える
0

各プロパティのタイプによっては、連結できない場合があります。セルを出力として使用することをお勧めします。

function [c]=getall(obj)
    p=properties(obj);      
    for i=1:length(p),
        c{i}=get(obj,p{i});
    end
end

プロパティ メソッドを使用してジェネリックにすることに注意してください。プロパティを変更または名前変更しても、このメソッドを更新する必要はありません。

于 2016-04-28T11:15:36.983 に答える