肯德基收

一.基本功能:基本套餐结算和找零。使用优惠劵购买餐品结算和找零。可在一定时间段参与店内活动(自行设计或参考官网信息)。模拟打印小票的功能(写到文件中)。
二.类图:工厂方法模式:
在这里插入图片描述


    package com.cn1; 
    //工厂接口
    public interface KFC_I_Factory {	
    public I_Hamburger getHamburger();	
    public I_Drink getDrink();	
    public I_ChickenWing getChickenWing();	
    public double getCutOff();	
    }
    //工厂派生套餐
    public class combo1 implements KFC_I_Factory{	
    ChikenWing chickwing=new ChikenWing("俩个鸡翅");	
    Hamburger hamburger=new Hamburger("香辣鸡腿堡");	
    Drink drink=new Drink("橙汁");
    //重写获得汉堡类	
    public I_Hamburger getHamburger() {		
    // TODO Auto-generated method stub				
    return  hamburger;			
    } 	
    //重写获得饮料类
    public I_Drink getDrink() {		
    // TODO Auto-generated method stub				
    return drink;	
    } 	
    public I_ChickenWing getChickenWing(){		
    // TODO Auto-generated method stub				
    return chickwing;	
    } 	
   //重写获得优惠
    public double  getCutOff() {		
    // TODO Auto-generated method stub		
    double money=hamburger.getPrice()+drink.getPrice()+2*chickwing.getPrice();		
    return money-3;  	
    } 
    }
    //派生工厂套餐2
    public class combo2 implements KFC_I_Factory{	
    ChikenWing chickwing=new ChikenWing("四个鸡翅");	
    Hamburger hamburger=new Hamburger("奥尔良鸡腿堡");	
    Drink drink=new Drink("牛奶");	
    public I_Hamburger getHamburger() {		
    /   / TODO Auto-generated method stub				
    return  hamburger;			
    } 	
    public I_Drink getDrink() {		
    // TODO Auto-generated method stub				
    return drink;	
    } 	
public I_ChickenWing getChickenWing(){		
// TODO Auto-generated method stub				
return chickwing;	
} 	
public double  getCutOff() {		
// TODO Auto-generated method stub		
double money=hamburger.getPrice()+drink.getPrice()+4*chickwing.getPrice();		
return money*0.9;	
}
//鸡翅接口
public interface I_ChickenWing {	
public void createChickenWing();	
public int getPrice();
}
//饮料接口
public interface I_Drink {	
public void createDrink();	
public int getPrice();
}
//汉堡接口
public interface I_Hamburger {	
public void createHamburger();	
public int getPrice();
}  
//汉堡类
 public class Hamburger implements I_Hamburger{  
   private String  name;    
   public Hamburger(String name){    	
   super();    	
 this.name=name;    
   }	
   public void createHamburger() {		
   // TODO Auto-generated method stub		
   System.out.println(name);	
   }	
   public int getPrice() {		
   // TODO Auto-generated method stub		
   return 20;	
   }	 
     }
     //鸡翅类
      public class ChikenWing implements I_ChickenWing{	
      private String  name;   
       public ChikenWing(String name) {		/
       / TODO Auto-generated constructor stub    	
       super();    	
       this.name=name;  
         }	
         public void createChickenWing() {		
         // TODO Auto-generated method stub		
         System.out.println(name);
         	}	
         	public int getPrice() {		
         	// TODO Auto-generated method stub		
         	return 5;	
         	} }
         	public class Drink implements I_Drink{	
         	private String  name;    
         	public Drink(String name){    	
         	super();    	
         	this.name=name;  
         	  }	
         	  public void createDrink() {		
         	  // TODO Auto-generated method stub		System.out.println(name);	
         	  }	
         	  public int getPrice() {		
         	  // TODO Auto-generated method stub		
         	  return 10;	
         	  } }
         	  //测试类
         	  import java.util.Scanner;
         	   public class Test { 	
         	   public static void main(String[] args) {				    Scanner scanner=new Scanner(System.in);		
         	   System.out.println("请选择套餐:");		
         	   int s=scanner.nextInt();		
         	   KFC_I_Factory combo1=new combo1();		KFC_I_Factory combo2=new combo2();				
         	   if(s==1)		{		
         	   System.out.println("套餐一:");		combo1.getChickenWing().createChickenWing();		combo1.getDrink().createDrink();		
         	   combo1.getHamburger().createHamburger();		System.out.println(combo1.getCutOff());		
         	   System.out.println("请支付您的用餐费用");		
         	   double d=scanner.nextDouble();		
         	   double money=d-combo1.getCutOff();		System.out.println("给您找零"+money);		
         	   System.out.println("欢迎下次光临");		
         	   }		
         	   if(s==2)		{		
         	   System.out.println("套餐二:");		combo2.getChickenWing().createChickenWing();		combo2.getDrink().createDrink();		
         	   combo2.getHamburger().createHamburger();		System.out.println(combo2.getCutOff());		
         	   System.out.println("请支付您的用餐费用");		
         	   double d=scanner.nextDouble();		
         	   double money=d-combo2.getCutOff();		System.out.println("给您找零"+money);		
         	   System.out.println("欢迎下次光临");		
         	   }											
         	   }} 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值