我在Unity3D下面的類:我不能得到ACCES公共功能於一身的多態列表
public abstract class Property{
public abstract bool equals (int value);
}
而另外一個誰從它繼承:
public class A : Property{
int currentValue;
// Constructor
public A(int newValue){
currentValue = newValue;
}
// Getter
public int getCurrentValue(){
return currentValue;
}
public override bool equals (int value){
// Do something
}
}
還有另一類B中等於A.
,並在主函數我有:
List<Property> list = new List<Property>();
list .Add (new A (0));
list .Add (new B (2));
Debug.Log (list [0]); // Prints "A" -> It´s OK
Debug.Log (list [1]); // Prints "B" -> It´s OK
但我想打印對象A的當前值,我不明白爲什麼如果我這樣做Debug.Log(list[0].getCurrentValue())
,我不能訪問該功能!但它是公開的!出了什麼問題?
因爲你的列表包含'Property'類型,'Property'只有一個方法 - 'equals' – Jonesopolis