Data structures 非均质与均质

Data structures 非均质与均质,data-structures,Data Structures,我对异构和同构列表和数组有点困惑。在OOP上下文中,若我定义了基类及其派生类,若我也可以存储派生类,那个么为什么基类数组是同构的呢?这与C中的void指针(即)原理相同。每一篇文献都说,同构结构是同一类型(语义上)的,所以你能给我进一步解释一下吗?派生类实例仍然是一个父类实例。从这个意义上说,它是同质的,加上列表本身被声明为父类列表,因此当您访问列表成员时,您使用的是父类定义,例如,您不能在不强制转换的情况下对仅在子类中定义的成员调用方法,区别在哪里?什么和什么之间的区别?他的逻辑和我的不同。他

我对异构和同构列表和数组有点困惑。在OOP上下文中,若我定义了基类及其派生类,若我也可以存储派生类,那个么为什么基类数组是同构的呢?这与C中的void指针(即)原理相同。每一篇文献都说,同构结构是同一类型(语义上)的,所以你能给我进一步解释一下吗?

派生类实例仍然是一个父类实例。从这个意义上说,它是同质的,加上列表本身被声明为父类列表,因此当您访问列表成员时,您使用的是父类定义,例如,您不能在不强制转换的情况下对仅在子类中定义的成员调用方法,区别在哪里?什么和什么之间的区别?他的逻辑和我的不同。他说,
List
是异构的,但是
List
是异构的。在操作上有区别吗?如果他没有使用
If(XY的形状实例){..}
,而是使用多态性,那么
列表是否仍然是异构的?
列表是
形状的列表。你如何处理这份清单的内容是无关紧要的;使用
instanceof
不会更改列表内容。它允许您根据列表成员的实际情况来操作列表成员,如果您的类设计很糟糕,或者您的需求发生了变化,这可能是必要的。不知道你为什么要关注某人对这两个词的用法。