OK、抽象クラス「Order」があります。
public abstract class Order {
protected String location;
protected double price;
public Order(double price, String location){
    this.price = price;
    this.location = location;
}
public abstract double calculateBill();
public String getLocation() {
    return location;
}
public double getPrice() {
    return price;
}
public abstract String printOrder(String format);   
}
私はまた、それを実装する3つのクラスを持っています.
今、それらを管理するために OrderManager クラスを作成しようとしています。これは私がこれまでに持っているものです
public class OrderManager {
private ArrayList<Order> orders;
public OrderManager() {     
}   
public OrderManager(ArrayList<Order> orders) {
    this.orders = orders;   
}   
public void addOrder(Order o) {
    orders.add(o);
}   
public ArrayList<Order> getOrdersAbove(double val) {
    for (Order o : orders) {
        double bill = o.calculateBill();
        if (bill > val)
            orders.add(o);
    }
    return orders;
}
請求額が val を超えている注文の配列リストを返すべき getOrdersAbove メソッドに問題があります。calculateBill であることは抽象的であり、注文の各サブクラスに実装されているので、正しいと言えますか? また、その場合、OrderManager は Order を拡張すべきではありませんか? または、同じパッケージにいるだけで、そのメソッドを呼び出すことができますか? それとも、私はそれについてすべて間違っていますか?
助けてくれてありがとう!