Java面向对象点菜完整代码不使用泛型
时间: 2023-08-03 12:21:14 浏览: 84
下面是一个不使用泛型的Java面向对象点菜完整代码的示例:
```java
import java.util.ArrayList;
public class MenuItem {
private String name;
private double price;
public MenuItem(String name, double price) {
this.name = name;
this.price = price;
}
public String getName() {
return name;
}
public double getPrice() {
return price;
}
}
public class Order {
private ArrayList items;
public Order() {
items = new ArrayList();
}
public void addItem(MenuItem item) {
items.add(item);
}
public double getTotal() {
double total = 0;
for (int i = 0; i < items.size(); i++) {
MenuItem item = (MenuItem) items.get(i);
total += item.getPrice();
}
return total;
}
public void printReceipt() {
System.out.println("Receipt:");
for (int i = 0; i < items.size(); i++) {
MenuItem item = (MenuItem) items.get(i);
System.out.println(item.getName() + " - $" + item.getPrice());
}
System.out.println("Total - $" + getTotal());
}
}
public class Main {
public static void main(String[] args) {
MenuItem burger = new MenuItem("Burger", 9.99);
MenuItem fries = new MenuItem("Fries", 4.99);
MenuItem soda = new MenuItem("Soda", 1.99);
Order order = new Order();
order.addItem(burger);
order.addItem(fries);
order.addItem(soda);
order.printReceipt();
}
}
```
在这个示例中,`MenuItem` 类与之前相同,但是 `Order` 类不再使用泛型。相反,`items` 变量是一个 `ArrayList`,并且在添加和检索菜单项时需要进行强制类型转换。`Main` 类与之前相同。
这个示例仍然演示了Java面向对象的基本概念,但是使用泛型可以更安全、更简洁地实现相同的功能。
阅读全文