【发布时间】:2020-11-19 19:18:47
【问题描述】:
我有两个子类:
- 行
- 弧线
它们的对象将通过将它们附加到它们的末端来创建路径。这些都有自己的“plotCurve”方法。我想将这些对象存储在一个数组中,例如:
path = [line1,line2,arc1,line3,arc2,arc3,line4,arc4,arc5...];
(我认为“路径”应该是超类“路径”的对象) 当我编写类似的代码时;
for i=1:size(path)
path(i).plotCurve;
hold on
end
应该显示结果。我应该能够看到整个路径。 (因此,当“Line”对象出现时,“plotCurve”方法应该运行,对于 Arc 对象也是如此)。
【问题讨论】:
-
我们期望 line 和 arc 是什么数据类型/变量类型?
-
这些是类,每个类有 10-15 个浮点属性。
-
这种情况下不需要继承。使
path成为一个单元格数组,您可以使用两个类的对象(或其他任何东西)填充它。然后就可以调用每个对象的plotCurve方法,只要对象定义了这样的方法就可以了。 -
@CrisLuengo 是的,你是对的。这实际上是我已经做到的。但是,我想知道如何在不使用单元格数组的情况下使用 oop。
标签: matlab oop interface subclass superclass