如何根据Matlab中不同类的对象的属性获取依赖属性

时间:2013-10-02 04:08:02

标签: matlab oop properties matlab-class

请参阅以下代码:

Ex_ObjA.m

classdef Ex_ObjA

    properties
        a
    end

    methods
        function Obj=Ex_ObjA(t)
           Obj.a = t; 
        end
    end    
end

Ex_ObjBC.m

classdef Ex_ObjBC 

    properties  
        b 
    end

    properties (Dependent = true, SetAccess = public)
        c
    end    

    methods
        function Obj=Ex_ObjBC(t)
           Obj.b = t; 
        end

        function c=get.c(Obj,s1) % error: Get methods must have exactly one input
           c = Obj.b + s1.a;
        end
    end
end

我试着做以下事情:

s1 = Ex_ObjA(2);

s2 = Ex_ObjBC(3);

s2.c

不成功,因为“获取方法必须只有一个输入”。我可以将s1.a传递给Ex_ObjBC以获取s1.c

1 个答案:

答案 0 :(得分:0)

c实际上不是一个Dependent属性,它是计算的结果。只需删除属性c,并使用方法c = calculatec(Obj, s1)执行与现在相同的代码。