2

我正在寻找一个嵌套子类可以访问另一个嵌套子类的属性的 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 和一个使用子类 1 的属性 a 的方法 calcSomething:

 classdef subclass2

    properties
      b
    end

    methods
      function result = calcSomething(obj)
        result = obj.b * superclass.prop1.a;
      end
    end

 end

如何表达superclass.prop1.a以从 subclass2 中正确获取此属性?

谢谢!:)

PS我不确定我对超类子类这两个词的使用是否完全正确,因为我没有说明

subclass < superclass

也许母子的概念会更方便..?!

4

1 回答 1

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
于 2018-10-07T18:58:11.797 回答