8、 有关接口的练习

要求:

1、创建顾客类、中国厨师、美国厨师类
2、创建接口菜单
3、实现顾客通过菜单点菜。

package com.bjpowernode.javase.day15;

public interface FoodMenu {
    
    

    //西红柿炒鸡蛋
    public abstract void XiHongShiChaoJiDan();

    //鱼香肉丝
    public abstract void YuXiangRouSi();
}

package com.bjpowernode.javase.day15;

public class ChineseCooker implements FoodMenu{
    
    
    //西红柿炒鸡蛋
    public void XiHongShiChaoJiDan(){
    
    
        System.out.println("中国师傅做的西红柿炒鸡蛋");
    }

    //鱼香肉丝
    public void YuXiangRouSi(){
    
    
        System.out.println("中国师傅做的鱼香肉丝");
    }

}
package com.bjpowernode.javase.day15;

public class AmericaCooker {
    
    
    //西红柿炒鸡蛋
    public void XiHongShiChaoJiDan(){
    
    
        System.out.println("西餐的西红柿炒鸡蛋");
    }

    //鱼香肉丝
    public void YuXiangRouSi(){
    
    
        System.out.println("西餐师傅做的鱼香肉丝");
    }
}

package com.bjpowernode.javase.day15;

public class Customer {
    
    
    //引用数据类型
    //Customer has a FoodMenu;
    //满足has a 以属性的形式存在
    private FoodMenu foodMenu;

    public Customer() {
    
    
    }

    public Customer(FoodMenu foodMenu) {
    
    
        this.foodMenu = foodMenu;
    }

    public FoodMenu getFoodMenu() {
    
    
        return foodMenu;
    }

    public void setFoodMenu(FoodMenu foodMenu) {
    
    
        this.foodMenu = foodMenu;
    }

    //点菜
    public void order(){
    
    
        foodMenu.XiHongShiChaoJiDan();
        foodMenu.YuXiangRouSi();
    }
}

package com.bjpowernode.javase.day15;

public class Test {
    
    
    public static void main(String[] args) {
    
    
        //创建厨师对象
        FoodMenu cooker1 = new ChineseCooker();

        //创建顾客对象
        Customer customer = new Customer(cooker1);

        //顾客点菜
        customer.order();

    }
}

结果:中国师傅做的西红柿炒鸡蛋
中国师傅做的鱼香肉丝

猜你喜欢

转载自blog.csdn.net/Alopecian/article/details/114395380