基本的なクラスのセットがあります。ei:
public class Item{
}
Storable 機能を使用して基本クラスを拡張する機能を追加したい:
- オブジェクト内のストレージからデータを保持する新しいパラメーター
- ストレージからオブジェクトをロードする新しい静的メソッド
抽象クラス Storable を作成しました。
public abstract class Storable{
private StorageRow str;
public void setStorageRow(StorageRow row){
str = row;
}
public static ArrayList<? extends Storable> getAll(){
ArrayList<Storable> ans = new ArrayList<Storable>();
Class<Storable> extenderClass = ??????
ArrayList<StorageRow> rows = Storage.get(llallala);
for(StorageRow row : rows){
Object extender = extenderClass.newInstance();
// Now with reflection call to setStorageRow(row);
}
return ans;
}
}
ここで、基本クラスを Storable で拡張します。
public class Item extends Storable{}
呼び出しは次のとおりです。
ArrayList<Item> items = (ArrayList<Item>) Item.getAll();
主な質問は次のとおりです。今、私はスーパークラスの静的メソッド getAll の中にいます。サブクラスを取得するには?