异构数组的类始终是数组中所有对象共有的最特定超类的类。例如,假设您定义了以下类层次结构:
形成一个数组,其中包含LeafA
以…为例LeafB
创建类的数组中间
.
形成一个数组,其中包含LeafC
以…为例LeafD
创建类的数组HierarchyRoot
.
形成一个数组,其中包含LeafA
再举一个例子LeafA
创建类的同类数组LeafA
.
非均匀阵列形成的限制条件
只能使用从相同层次结构根派生的对象(例如HierarchyRoot
类)。
可以使用派生自多个超类的对象形成异构数组,但层次结构中只有一个分支可以定义异构根。
形成异构阵列
异构数组是生成包含来自异构层次结构的两个或多个类实例的数组的操作的结果。通常,操作是连接或索引赋值。例如,这些语句使用索引赋值形成异构数组。
增长数组可以改变它的类
如果数组包含从matlab.mixin.Heterogeneous
,将新对象指定给它可以更改数组的类。例如,考虑只包含对象的齐次数组。LeafA
类。
将来自相同根的不同类的对象添加到同构数组中,可以将数组的类转换为最特定的超类。