要求:
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();
}
}
结果:中国师傅做的西红柿炒鸡蛋
中国师傅做的鱼香肉丝