2012-11-30 2 views
0

나는 4 개의 자식 클래스를 가진 추상적 인 클래스를 가지고 있는데, 어떻게하면 객체 배열을 만들 수 있는지 알고 싶습니다. 프로그램이 실행될 때 다른 순서를 지정하고 저장할 것인지 물어 봅니다. 객체 배열의 첫 번째 순서 등등. 사용자가 더 이상 주문을하지 않을 때까지 계속됩니다. 나는 당신의 abstract 가정 여기 추상 클래스의 객체 배열을 만드는 방법은 무엇입니까?

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

이며, 객체 배열을 생성하고 이러한 변수를 저장하고 싶은 곳 // 여기에

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); 

입니다 수업은 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

관련 문제