【发布时间】:2013-12-13 10:08:18
【问题描述】:
我对编程非常陌生,我的任务是创建一个简单的披萨订购程序。它应该利用对象并利用继承。对于作业的第一部分,我必须创建:
1) PizzaBase 类 - 模拟披萨底(厚或薄)
2) PizzaTopping 类 - 模拟披萨浇头
3) 比萨类 - 携带有关比萨的基本信息,包括单个基料和多个浇头
创建和存储顶部和基础对象的最佳方法是什么?以及如何在该程序中实现继承?稍后,我必须创建一个用户界面来使用顶部对象和基础对象接受订单,并检查比萨饼是否适合素食者。
这是我目前掌握的一些代码:
public class Pizza {
private PizzaBase base;
private ArrayList<PizzaToppings> topList;
public Pizza(PizzaBase b){
this.setBase(b);
this.topList = new ArrayList<PizzaToppings>();
}
public void setBase(PizzaBase b){
base = b;
}
public void addTop(PizzaToppings topping){
topList.add(topping);
}
public double pizzaCost(){
double cost = base.getcost();
for(PizzaToppings topping : topList)
{
cost += topping.getTopCost();
}
return cost;
}
public void OrderSummary()
{
System.out.println(base.getBase() + ": \t" + base.getcost());
for(PizzaToppings topping : topList)
{
System.out.println(topping.getTopName() + ": " + topping.getTopCost());
}
System.out.println();
System.out.println("total: "+ pizzaCost());
}
}
public class PizzaBase {
private String baseName;
private double cost;
public PizzaBase(String base, double cost) {
this.baseName = base;
this.cost = cost;
}
public String getBase() {
return baseName;
}
public double getcost() {
return cost;
}
}
【问题讨论】:
-
我对这个练习(以及那本书中的其他练习)的经验是,实际的工作范围根本不会激发本书提出的设计。这是编程书籍的常见病,这些书籍试图解释在超过 10,000 行代码的代码库中使用(并且有用)的概念,以及 100 行代码的示例。
-
Marko,你知道有什么办法可以解决这个病吗? (我不是在以一种讽刺的方式问这个问题,而是一种真正感兴趣的方式。我同意这是一个问题。)
标签: java object data-structures