Objective matlab - 用一个函数返回多个类属性

时间:2012-12-01 18:27:04

标签: class matlab

我正在尝试使用单个函数返回类的多个属性:

classdef myClass

    properties
        a
        b
        c
    end

    methods

        % ...

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

    end

我知道这不正确,但它代表了我想要实现的目标。我可以请你帮我解决一下吗?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

根据每个属性的类型,它们可能无法连接。 更好的方法是使用单元格作为输出。

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

请注意使用属性方法,使其具有通用性:如果更改/重命名属性,则无需更新此方法!