异构数组的类总是数组中所有对象所共有的最特定超类的类。例如,假设你定义了以下类层次结构:
组成包含的实例的数组LeafA
有一个例子LeafB
创建类的数组中间
.
组成包含的实例的数组LeafC
有一个例子LeafD
创建类的数组层次结构
.
组成包含的实例的数组LeafA
另一个例子LeafA
创造一个同质的课程LeafA
.
异构阵列形成的限制
只能使用从相同层次结构根派生的对象(例如层次结构
先前显示的层次结构中的类)。
可以使用派生自多个超类的对象组成异构数组,但只有层次结构中的一个分支可以定义异构根。
形成异质阵列
异构阵列是从异构层次结构产生包含两个或多个类的阵列的阵列的结果。通常,操作是级联或索引的分配。例如,这些语句使用索引分配来形成异构阵列。
增长数组可以改变它的类
如果数组包含派生的对象matlab.mixin.Heterogeneous
,将新对象赋值给它可以改变数组的类。例如,考虑一个仅包含对象的同构数组LeafA
类。
将来自相同根的不同类的对象添加到同构数组中,可以将数组的类转换为最特定的超类。