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 回答