能帮我用Java写一个点餐管理系统吗,要包含抽象,接口
时间: 2024-02-24 22:58:30 浏览: 20
当然可以帮您写一个点餐管理系统,下面是一个简单的示例:
```
// 定义一个抽象类来表示菜品
abstract class Dish {
protected String name;
protected double price;
public Dish(String name, double price) {
this.name = name;
this.price = price;
}
public abstract void display();
}
// 定义一个实现抽象类的具体类
class ChineseDish extends Dish {
public ChineseDish(String name, double price) {
super(name, price);
}
public void display() {
System.out.println("中式菜品:" + name + ",价格:" + price);
}
}
class WesternDish extends Dish {
public WesternDish(String name, double price) {
super(name, price);
}
public void display() {
System.out.println("西式菜品:" + name + ",价格:" + price);
}
}
// 定义一个接口来表示点餐系统
interface OrderSystem {
public void addDish(Dish dish);
public void removeDish(Dish dish);
public void displayDishes();
}
// 实现接口
class Restaurant implements OrderSystem {
private List<Dish> dishes;
public Restaurant() {
dishes = new ArrayList<Dish>();
}
public void addDish(Dish dish) {
dishes.add(dish);
}
public void removeDish(Dish dish) {
dishes.remove(dish);
}
public void displayDishes() {
for (Dish dish : dishes) {
dish.display();
}
}
}
// 测试
public class Test {
public static void main(String[] args) {
OrderSystem orderSystem = new Restaurant();
orderSystem.addDish(new ChineseDish("宫保鸡丁", 38.0));
orderSystem.addDish(new WesternDish("意大利面", 48.0));
orderSystem.displayDishes();
}
}
```
这个示例包含了抽象类 `Dish` 和具体实现类 `ChineseDish` 和 `WesternDish`,以及接口 `OrderSystem` 和实现类 `Restaurant`。您可以根据需要进行修改和扩展。