好的,所以我有2个类,Note和HeldNote。 HeldNote从Note中继承,并只添加2个变量,另外还有一种设置视觉尺寸的不同方式。我有一个未定义数量的项目数组,每个项目都定义为类Note的成员。如何以编程方式重新定义变量的类别?
偶尔我的节目中,我想在数组中某一个项目是一个HeldNote而不是注意了,我不知道是哪一个,直至程序运行。
VB.Net似乎罚款我声明数组(I)=新HeldNote但随后不会让我访问HeldNote有,但注意不变量。在程序中使用Breaks使我相信数组(i)实际上并未被重新定义为HeldNote而不是Note。
所以,我的问题是,怎样才能让我阵列(I)的HeldNote,而不是注意?
我用VB.net 2008
编辑:我问过我的老师对这个问题,他说他不知道,叫我去看看它。我在网上没有任何东西(自从我问他之前一直在寻找),所以我来到这里寻求帮助。
你为什么使用VB2008? – Dai
它是一个学校项目,由于某种原因,我的学校决定这就是我们将要使用的。 – Hado
这就是为什么你应该更喜欢Aggregation over Inheritance。想象一下,你只有一个'Note'类和一个'NoteVisualProperties'类。 'Note'类不是继承,而是'NoteVisualProperties'的一个实例。如果你有一个“正常的”注意这个实例可能是空的或用默认值定义的。在你的“HeldNote”的情况下,你会通过属性对象设置额外的变量和维度的东西。 –