酒店点菜管理系统是一个用于管理酒店餐厅菜品、订单和顾客的系统。以下是一个简单的Java实现:
1. 类定义:
```java
public class Dish {
private String name;
private double price;
public Dish(String name, double price) {
this.name = name;
this.price = price;
}
// getter and setter methods
}
public class Order {
private int orderId;
private List
public Order(int orderId) {
this.orderId = orderId;
this.dishes = new ArrayList<>();
}
// getter and setter methods
}
public class Customer {
private String name;
private String phoneNumber;
public Customer(String name, String phoneNumber) {
this.name = name;
this.phoneNumber = phoneNumber;
}
// getter and setter methods
}
```
2. 功能实现:
- 添加菜品:在`main`方法中,我们可以创建一个`Dish`对象,并添加到`dishes`列表中。
- 删除菜品:在`main`方法中,我们可以通过`dishes.remove(dish)`来删除指定的`Dish`对象。
- 修改菜品:在`main`方法中,我们可以通过`dishes.add(new Dish("New Dish", 100))`来添加一个新的`Dish`对象。
- 查询菜品:在`main`方法中,我们可以通过`dishes.get(0).getName()`来获取第一个`Dish`对象的`name`属性。
- 创建订单:在`main`方法中,我们可以创建一个`Order`对象,并设置其`orderId`属性。
- 取消订单:在`main`方法中,我们可以使用`orders.get(i).cancel()`来取消第`i`个订单。
- 支付订单:在`main`方法中,我们可以使用`orders.get(i).pay()`来支付第`i`个订单。
3. 主函数:
```java
public static void main(String[] args) {
Dish dish1 = new Dish("Dish 1", 50);
Dish dish2 = new Dish("Dish 2", 60);
Order order = new Order(1);
order.setDishes(Arrays.asList(dish1, dish2));
System.out.println("Total: " + order.getTotal());
order.cancel();
System.out.println("Order cancelled");
order.pay();
System.out.println("Order paid");
}
```
这个简单的示例仅展示了系统的最基本功能,实际应用中可能还需要添加更多的功能,如用户管理、菜单管理、库存管理等。