Java桥接模式实例详解【简单版与升级版】

  

本文实例讲述了Java桥接模式。分享给大家供大家参考,具体如下:

  

  

<强>一代码

        类食物   {   保护MealImp小鬼;   公共餐()   {   小鬼=new AmericanMealImp ();   }   公共餐(字符串类型)   {   如果(type.equals(“美国”))   小鬼=new AmericanMealImp ();   如果(type.equals(“意大利”))   小鬼=new ItalianMealImp ();   }   公共空间getFirstCourse () {   imp.getAppetizer ();   }   公共空间getSecondCourse () {   imp.getMeat ();   }   公共空间getBeverage () {   imp.getBeverage ();   }   公共空间getDessert () {   imp.getDessert ();   }   }   接口MealImp {   公共抽象空白getAppetizer ();   公共抽象空白getSoup ();   公共抽象空白getSalad ();   公共抽象空白getFish ();   公共抽象空白getMeat ();   公共抽象空白getSorbet ();   公共抽象空白getPasta ();   公共抽象空白getBeverage ();   公共抽象空白getDessert ();   公共抽象空白getSandwich ();   }   类AmericanMealImp实现MealImp {   公共空间getAppetizer () {   system . out。println(“开胃菜:烤干酪”);}   公共空间getSoup () {}   公共空间getSalad () {}   公共空间getFish () {}   公共空间getMeat () {   system . out。println(“肉食:牛排”);}   公共空间getPasta () {}   公共空间getBeverage () {   system . out。println(“酒水:啤酒”);}   公共空间getDessert () {   System.out.println(“餐后甜点:苹果派”);}   公共空间getSorbet () {}   公共空间getSandwich () {}   }   类ItalianMealImp实现MealImp {   公共空间getAppetizer () {   system . out。println(“开胃菜:意大利蔬菜拼盘”);}   公共空间getSoup () {}   公共空间getSalad () {}   公共空间getFish () {}   公共空间getMeat () {   system . out。println(“肉食:意大利柠檬香煎鸡排”);}   公共空间getPasta () {}   公共空间getCheesePlate () {}   公共空间getBeverage () {   system . out。println(“酒水:卡布奇诺咖啡”);}   公共空间getDessert () {   system . out。println(“餐后甜点:冰淇淋”);}   公共空间getSorbet () {}   公共空间getSandwich () {}   }   公开课CustomerBridgeDemo {   私人餐饭;   公共CustomerBridgeDemo(餐品尝味道){餐=饭局;}   公共空间吃(){   meal.getFirstCourse ();   meal.getSecondCourse ();   meal.getBeverage ();   meal.getDessert ();   }   公共静态void main (String [] args) {   晚餐品尝味道=零;   如果(arg游戏。长度==0){   品尝味道=new餐();   }   else if (arg游戏。长度==1){   如果(! (args [0] .equals(“美国”)),,! (args [0] .equals(“意大利”))){   System.err.println(“输入参数有误!”);   System.err。println(“正确用法:java客户[美国|意大利]”);   system . exit (1);   }   其他{   品尝味道=new餐(args [0]);   }   }   {//其他错误   System.err.println(“输入参数有误!”);   System.err。println(“正确用法:java客户[美国|意大利]”);   system . exit (1);   }   CustomerBridgeDemo cus=new CustomerBridgeDemo(品尝味道);   cus.eat ();   }   }      之前      

<强>二运行

  
  

开胃菜,,,:烤干酪
  肉食,,,,,,,:牛排
  酒水,,,,,,,:啤酒
  餐后甜点:苹果派

     

<强>三类图

  

癑ava桥接模式实例详解【简单版与升级版】“

  

  

<强>一代码

        类膳食{   保护MealImp小鬼;   公共餐(){   小鬼=new AmericanMealImp ();   }   公共餐(字符串类型){   如果(type.equals(“美国”))   小鬼=new AmericanMealImp ();   如果(type.equals(“意大利”))   小鬼=new ItalianMealImp ();   }   公共空间getFirstCourse () {   imp.getAppetizer ();   }   公共空间getSecondCourse () {   imp.getMeat ();   }   公共空间getBeverage () {   imp.getBeverage ();   }   公共空间getDessert () {   imp.getDessert ();   }   }   接口MealImp {   公共抽象空白getAppetizer ();   公共抽象空白getSoup ();   公共抽象空白getSalad ();   公共抽象空白getFish ();   公共抽象空白getMeat ();   公共抽象空白getSorbet ();   公共抽象空白getPasta ();   公共抽象空白getBeverage ();   公共抽象空白getDessert ();   公共抽象空白getSandwich ();   }   类AmericanMealImp实现MealImp {   公共空间getAppetizer () {   system . out。println(“开胃菜:烤干酪”);   }   公共空间getSoup () {   }   公共空间getSalad () {   }   公共空间getFish () {   }   公共空间getMeat () {   system . out。println(“肉食:牛排”);   }   公共空间getPasta () {   }   公共空间getBeverage () {   system . out。println(“酒水:啤酒”);   }   公共空间getDessert () {   System.out.println(“餐后甜点:苹果派”);   }   公共空间getSorbet () {   }   公共空间getSandwich () {   }   }   类ItalianMealImp实现MealImp {   公共空间getAppetizer () {   system . out。println(“开胃菜:意大利蔬菜拼盘”);   }   公共空间getSoup () {   }   公共空间getSalad () {   }   公共空间getFish () {   }   公共空间getMeat () {   system . out。println(“肉食:意大利柠檬香煎鸡排”);   }   公共空间getPasta () {   }   公共空间getCheesePlate () {   }   公共空间getBeverage () {   system . out。println(“酒水:卡普齐诺咖啡”);   }   公共空间getDessert () {   system . out。println(“餐后甜点:冰淇淋”);   }   公共空间getSorbet () {   }   公共空间getSandwich () {   }   }   类零食延伸餐{   零食(){   超级();   }   零食(String类型){   超级(类型);   }   公共空间getSnack(){//甜点   imp.getAppetizer ();   }   }   类午餐餐{延伸   午餐(){   超级();   }   午餐(字符串类型){   超级(类型);   }   公共空间getLunch(){//午餐   imp.getSandwich ();//三明治   imp.getBeverage ();//饮品   }   }   类FiveCourseMeal延伸餐{   FiveCourseMeal () {   超级();   }   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

Java桥接模式实例详解【简单版与升级版】