接口(顾客与厨师)

接口的应用

我们平时去吃饭就有接口,食谱菜单就是接口。顾客是调用者。厨师是实现者。

代码如下

//食谱菜单
public interface FoodMenu {
    void xiHongshichaoDan();
    void yuXiangRousi();
    void laJiaoChaoRou();

}

//山东厨师(接口的实现者)
public class ShandongCooker implements FoodMenu{
    private String name;

    public ShandongCooker(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public void xiHongshichaoDan() {
        System.out.println(this.getName() + "做的西红柿炒蛋");
    }

    @Override
    public void yuXiangRousi() {
        System.out.println(this.getName() + "做的鱼香肉丝");
    }

    @Override
    public void laJiaoChaoRou() {
        System.out.println(this.getName() + "做的辣椒炒肉");
    }
}

//重庆厨师(接口的实现者)
public class ChongqingCooker implements FoodMenu{
    private String name;

    public ChongqingCooker(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public void xiHongshichaoDan() {
        System.out.println(this.getName() + "做的西红柿炒蛋");
    }

    @Override
    public void yuXiangRousi() {
        System.out.println(this.getName() + "做的鱼香肉丝");
    }

    @Override
    public void laJiaoChaoRou() {
        System.out.println(this.getName() + "做的辣椒炒肉");
    }
}

//顾客向菜单点菜
public class Customer {
    public void order(FoodMenu foodMenu){
        foodMenu.xiHongshichaoDan();
        foodMenu.yuXiangRousi();
        foodMenu.laJiaoChaoRou();
    }
}

public class Test {
    public static void main(String[] args) {
        //创建山东厨师对象
        ShandongCooker shandongCooker = new ShandongCooker("山东厨师");

        //创建顾客对象
        Customer customer = new Customer();
        customer.order(shandongCooker);

        //创建重庆厨师对象
        ChongqingCooker chongqingCooker = new ChongqingCooker("重庆厨师");
        customer.order(chongqingCooker);
    }
}

运行结果

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值