私はJavaにかなり慣れていません.ObjectTypeクラスのlinkedListを持っています.ObjectTypeのさまざまなサブクラスがlinkedListに追加されています.オブジェクトを引き出すと、ObjectTypeのタイプを渡す必要があり、継承されたものを失うようですサブクラスのプロパティ....誰かが私のためにこれに光を当てることができますか?
//LIST STORING OBJECT
public class MyObjectList{
private LinkedList<ObjectType> queue = new LinkedList<ObjectType>();
public MyObjectList()
{
queue = new LinkedList<ObjectType>();
}
public ObjectType addObject(ObjectType myObject)
{
queue.add(myObject);
return myObject;
}
}
//MY BASIC OBJECT
public abstract class ObjectType {
public int objectWidth;
public ObjectType () {}
}
//MY EXTENDED OBJECT BOX
public abstract class Box extends ObjectType {
public int objectWidth = 50;
public ObjectType () {}
}
//MY EXTENDED OBJECT PLATE
public abstract class Box extends ObjectType {
public int objectWidth = 25;
public Box() {}
}
// これで、ボックスのリストに多数のボックスを追加すると、objectWidth がゼロに設定されます!
mList = new MyObjectList;
for (int i=0;i<10;i++)
{
mObject = mList.addObject( new Box );
}
私のリストは最終的には異なるオブジェクト タイプで構成されることになっているため、baseObject はそのままにしておく必要があることを覚えておくことが重要です。もし可能なら!