Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
考虑以下Matlab(2009a)类:
classdef BigDeal < handle properties hugeness = magic(2000); end methods function self = BigDeal() end end end classdef BigProxy < handle properties(Dependent) hugeness end properties(Access = private) bigDeal end methods function self = BigProxy(bigDeal) self.bigDeal = bigDeal; end function value = get.hugeness(self) value = self.bigDeal.hugeness; end end end 现在考虑对它们的以下用法: 设定: >> b = BigDeal b = BigDeal handle Properties: hugeness: [10x10 double] Methods, Events, Superclasses 单层: >> pb = BigProxy(b) pb = BigProxy handle Properties: hugeness: [10x10 double] Methods, Events, Superclasses 双层: >> ppb = BigProxy(pb) ppb = BigProxy handle with no properties. Methods, Events, Superclasses 问题:为什么我的双层代理在单层可以看到的时候看不到hugeness的空间?可以计算相关属性-但这是否由于某种原因仅深入了一层? 更新:请参阅以下我的答案以找到解决方法。 回答: 这里的问题有两个:
更多&回答... |
![]() |
![]() |