Как получить зависимое свойство в зависимости от свойств объектов различного класса в Matlab

Смотрите код ниже:

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

Не удачно, потому что "методы Get должны иметь ровно один вход". Так что я могу передать s1.a в Ex_ObjBC получить s1.c?

1 ответ

c на самом деле это не зависимое свойство, это результат вычисления. Просто избавься от собственности cи есть метод c = calculatec(Obj, s1) который выполняет тот же код, что и сейчас.

Другие вопросы по тегам