我正在寻找一种MATLAB解决方案,其中嵌套子类可以访问另一个嵌套子类的属性。
在下面的示例中,超类具有两个属性,每个属性都被初始化为两个不同的子类:
classdef superclass
properties
prop1
prop2
end
methods
function obj = superclass()
obj.prop1 = subclass1;
obj.prop2 = subclass2;
end
end
end
第一个子类具有a属性:
classdef subclass1
properties
a
end
end
第二个子类具有属性b和方法calcSomething,该方法使用子类1的属性a:
classdef subclass2
properties
b
end
methods
function result = calcSomething(obj)
result = obj.b * superclass.prop1.a;
end
end
end
如何表达 superclass.prop1.a 以便从subclass2内部正确获取此属性?
谢谢! :)
PS我不确定我对 superclass 和 subclass 的使用是否完全正确,因为我没有声明
subclass < superclass
也许母子的概念会更方便..?!
答案 0 :(得分:1)
Soo,遵循superclass
的主要结构(不会改变),方法calcSomething
现在位于superclass
内部:
classdef superclass
properties
prop1 = subclass1
prop2 = subclass2
end
methods
function result = calcSomething(obj)
result = obj.prop1.a * obj.prop2.b;
end
end
end