询问我的previous question之后,我遇到了一种情况,即使用存储在对方属性中的几个对象类来保留对几个字段和方法的访问。例如使用类方法更新对象中的属性
classdef Class1
properties
Class1Prop % A property accessible from Class1
Class2 % A cell array of class 2 objects
end
methods
% Construct the class with all of its properties
function self = Class1()
end
function Class1Method
self.Class1Prop = ...
end
end
end
我填充Class1的一个对象,该Class1包含Class2的单元数组。现在我想让方法更改此对象内部属性的值。即
Class1{index}.Class2{index}.Class2Method
将执行一些计算和现在有地方存储在类的该实例该值。
作为MATLAB文档中所述:
“如果函数修改作为输入参数传递的处理对象, 修改影响由两个原始 和复制句柄引用的对象。”
为了获得我想要的功能,我必须使用值类(使用返回类对象的方法),以便更改方法调用返回的值。返回可分配以及价值:
Class1{index}.Class2{index} = Class1{index}.Class2{index}.Class2Method
然而,理想
Class1{index}.Class2{index}.Class2Method
将更新的等级2的属性。而那是我想要的功能。这可能吗?
对所有的编辑感到抱歉,我认为这可能实际上是一个有用的问题;) – 2012-01-30 06:48:17
** @ St-Ste-Ste-Stephen **:你好吗,你解决了你的问题吗? //(我个人认为这是一个很棒的东西,MATLAB已经发展了,所以.OOP,Yay!) – 2012-01-30 10:29:19
最后一句话仍然是一个相关的问题。我还没有想出如何获得该功能。帮助仍然欢迎,谢谢! – 2012-01-30 13:35:06