0

私は、EmployeesAList、MenuAList、および OrdersAList を含む myRestaurant というタイプの Restaurant のオブジェクトを持っています。各オブジェクトには、オブジェクト Employee、Menu_Item、および Order のインスタンスが格納されています。Order の各インスタンスは、整数、文字列、および整数の配列リストを格納します。

myRestaurant を保存すると、Orders クラス内にある arraylist を除いて、すべての arraylist が保存されます。

助言がありますか?

ランナーの保存方法

 public boolean SaveToFile(Restaurant myrest)
{
    try
    {
        File outFile = new File("etrest.rest");  
        //creates object representing file

        FileOutputStream outFileStream = new FileOutputStream(outFile);
        //connection between program and file

        ObjectOutputStream outObjectStream = new ObjectOutputStream(outFileStream);
        //class which is used to pass objects which will be saved to file

        //Write serializable ArrayList to file
        outObjectStream.writeObject(myrest);        

        //output done, so close the stream
        outObjectStream.close();
        return true;
    }
    catch(IOException IOE)
    {
        System.out.println(IOE.toString()); //debug purpose
        return false;        
    }
}

Order を追加する Restaurant のメソッド

ArrayList OrdersAList = new ArrayList();

public void AddOrder(Order o)
{
    OrdersAList.add(o);
}

注文クラス ArrayList の一部 Menu_ItemsIDAList = new ArrayList();

public Order()
{
    paid = false;
    WaiterNo = 0;
    TableNo = 0;
    item = 0;
}

public Order(boolean pd, int wN, int tN, int it)
{
    paid     = pd;
    WaiterNo = wN;
    TableNo  = tN;
    item     = it;
}

//MENU ITEMS ENTERED PER ORDER
public void AddMenu_ItemID(int item)
{
    Menu_ItemsIDAList.add(item);
}

Order のインスタンスを作成するときに、Menu_ItemsIDAList を設定するループを作成します

4

1 に答える 1

0

あなたの問題を正確に再構築することはできません...

あなた/私たちは、リストが正確に保存される場所と、「追加」メソッドがどこにあるかをよりよく把握する必要がありますか? どのクラスに...

そこで、図を作成することをお勧めします。あなたの場合、UML クラス図 ( http://en.wikipedia.org/wiki/Class_diagram )。

クラス、属性、および関係を理解し​​たら、そのような図を描いて、コードを適切な方法で使用できます。

もちろん、「何かが足りない」という簡単な解決策を提供することはできますが、今後の開発のためには、オブジェクト指向プログラミングの基礎を理解する必要があります。UML クラス図と UML ユースケース図も良い出発点です...

于 2013-02-09T16:47:30.960 に答える