2012-11-30 113 views
0

我有一個類是抽象的,它也有4個子類,我想知道如何創建一個對象數組,所以當程序運行時,它會詢問用戶是否要放置另一個訂單並存儲對象數組中的第一個順序等等,直到用戶不想再下訂單。如何爲抽象類創建對象數組?

double TP = b1.getTotal() + s1.getTotal() + d1.getTotal() + dr.getTotal(); 
System.out.print("Would you like to place another order?"); 
user = scan.nextInt(); 
scan.nextLine(); 
} 
}while(user == 1); 

//這裏就是我想創建對象數組和這些變量存儲在其中,

b1.display(); 
    s1.display(); 
    d1.display(); 
    dr.display(); 

這裏是抽象類

import java.util.*; 
public abstract class Order 
{ 

protected String meal; 
protected double price, total; 
protected int amount; 
public Order() 
{ 
setItem(meal); 

} 
public String getItem() 
{ 
return meal; 
} 

public void setItem(String i) 
{ 
meal = i; 
} 
public double getPrice() 
{ 
return price; 
} 

public void setPrice(double p) 
{ 
price = p; 
} 
public int getAmt() 
{ 
return amount; 
} 

public void setAmt(int a) 
{ 
amount = a; 
} 
public double getTotal() 
{ 
return total; 
} 


public abstract void display(); 

public abstract void setTotal(double p, int a); 

} 
+0

請給你的代碼一些格式,以便它更具可讀性。此外,請選擇解決您問題的代碼,並且不要粘貼您的整個程序 –

+0

「抽象」類在哪裏? – Dave

+0

更新了我原來的帖子 – user1067332

回答

2

我假設你abstract班級是Order。像

abstract class Order { 
    public abstract void getSomething(); 
    public abstract void setSomething(); 
} 

class Burger extends Order { 
    // implement getSomething() and setSomething() 
} 

... 
List<Order> orders = new ArrayList<Order>(); 
... 
Burger b = new Burger(); 
b.setSomething(0); 
orders.add(b); 
... 
for (Order o : orders) { 
    o.getSomething(); 
} 

可能是你在找什麼。

+0

我不明白我怎麼能夠從每個子類添加一個方法? EX:Burgers類有一個display(),並且Sides有一個display(),我將如何添加所有子方法,以便如果用戶想要放置另一個訂單,它將存儲第一個和第二個訂單,然後顯示每個訂購。 – user1067332

+0

@ user1067332 - 您必須實際編寫代碼以「將第一個和第二個命令彼此保存」。 –

+0

感謝大多數人的工作,但我希望它能夠計算每個訂單的總數以及所有訂單的總數。我很困惑我會怎麼做? – user1067332