だから私の問題は、これのベストプラクティスがわからないということです。次の内容を持つ抽象スーパークラスがあります。
protected ArrayList<Item> itemList;
protected abstract ArrayList<Item> getSpecificObjects(SQLiteStatement st);
public ArrayList<Item> getItems() {
itemList= new ArrayList<Item>();
SQLiteStatement st = generateStatement();
getSpecificObjects(st);
return itemList;
}
getSpecificObjects(st)は、このクラスで宣言された抽象メソッドであり、その実装は抽象クラスのサブクラスにあります。SQLiteStatement ローカル変数をメソッド変数として受け取り、必要なデータをインスタンスの保護変数itemListに書き込みます。
itemListをインスタンス変数にするのではなく、ローカル変数として送信する必要がありますか? または、SQLiteStatementとインスタンス保護変数を作成する必要がありますか?
コードはどちらの方法でも機能しますが、何が最適かわかりません。
どんな助けでも大歓迎です!