如何在MATLAB中的因变量的getter函数中更改对象的属性?

问题描述

假设我们有一个类,其属性为“ prop”,而“ depProp”为“ Dependent”属性。此外,它将具有getter函数来计算“ depProp”。类的定义就像:

classdef Program
    properties 
        prop = 200;  
        
    end
    properties (Dependent)
        depProp
    end
    methods 
        function val = get.depProp(obj)
            val = prop*rand;
            if val>100
                obj.prop = 100; % gives an error 
            end
        end
    end
end

但是,由于get.depProp函数未将“ obj”作为输出返回,因此MATLAB发生错误,因此它无法更改对象的属性。我知道为什么会发生(这是值类,必须返回对象)。我不想切换到处理类。因此,如何在因变量的getter函数中更改对象的属性。也欢迎低效的解决方案。 预先谢谢你,

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)