java练习14--咖啡店管理系统

   首先是 Coffee 类,这是一个抽象类,表示咖啡的基本属性和方法。然后是 LatteCoffee 类,它继承自 Coffee 类,表示一种具体的咖啡类型——拿铁咖啡。在 LatteCoffee 类中,实现了 create() 方法,用于描述拿铁咖啡的制作过程。

   接着是 CoffeeFactory 类,这是一个工厂类,用于生产咖啡。在 createCoffee() 方法中,它创建了一个拿铁咖啡的实例并返回。

   然后是 CoffeeStore 类,代表咖啡店。在 creatCoffee() 方法中,它也创建了一个拿铁咖啡的实例并返回。

   最后是 Client 类,这是客户端程序。它创建了一个咖啡工厂和一个咖啡店的实例,并选择购买一杯拿铁咖啡。然后输出了拿铁咖啡的属性,并调用了 create() 方法来制作拿铁咖啡。

package com.edu.manager;

// 咖啡抽象类
abstract class Coffee {
    private String name;
    private int sugar;
    private double milk;
    private double price;

    // 构造方法
    public Coffee(String name, int sugar, double milk, double price) {
        this.name = name;
        this.sugar = sugar;
        this.milk = milk;
        this.price = price;
    }

    // 获取咖啡名称
    public String getName() {
        return name;
    }

    // 获取糖的数量
    public int getSugar() {
        return sugar;
    }

    // 获取牛奶的数量
    public double getMilk() {
        return milk;
    }

    // 获取咖啡价格
    public double getPrice() {
        return price;
    }

    // 制作咖啡的抽象方法,具体制作过程由子类实现
    public abstract void create();
}

// 拿铁咖啡类,继承自Coffee类
public class LatteCoffee extends Coffee {
    public LatteCoffee() {
        super("美式拿铁", 4, 50, 15); // 调用父类构造方法
    }

    // 实现制作咖啡的方法
    @Override
    public void create() {
        System.out.println("Brewing coffee"); // 制作拿铁咖啡的具体步骤
    }
}

// 咖啡工厂类
public class CoffeeFactory {
    // 创建咖啡的方法
    public Coffee createCoffee() {
        return new LatteCoffee(); // 创建拿铁咖啡的实例并返回
    }
}

// 咖啡店类
public class CoffeeStore {
    // 创建咖啡的方法
    public Coffee creatCoffee() {
        return new LatteCoffee(); // 创建拿铁咖啡的实例并返回
    }
}

// 客户端程序
public class Client {
    public static void main(String[] args) {
        CoffeeFactory coffeeFactory = new CoffeeFactory(); // 创建一个咖啡工厂实例
        CoffeeStore coffeeStore = new CoffeeStore(); // 创建一个咖啡店实例
        Coffee Latte = new LatteCoffee(); // 选购一杯拿铁咖啡
        // 输出拿铁咖啡的属性
        System.out.println("order a " + Latte.getName() + "\nsugar:" + Latte.getSugar() + "\nmilk:" + Latte.getMilk() + "\nprice:" + Latte.getPrice());
        Latte.create(); // 制作拿铁咖啡
    }
}

运行结果为:

oder a 美式拿铁
sugar:4
milk:50.0
price:15.0
Brewing coffee

Process finished with exit code 0

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值