一:根本代码 package com.wzs.design; /** * 鬼话描绘形式--page231 桥接形式(根本代码) * * @author Administrator * */ public class BridgePattern { public static void main(String[] args) { Abstraction ab = new Refhttp://www.aaafaipiao.com/linked/20130313.doinedAbstraction(); ab.setImplementor(new ConcreteImplementorA()); ab.operation(); ab.setImplementor(new ConcreteImplementorB()); ab.operation(); } } // Implementor类 abstract class Implementor { public abstract void operation(); } // ConcreteImplementorA class ConcreteImplementorA extends Implementor { @Override public void operation() { System.out.println("具体方法A的完成."); } } // ConcreteImplementorB class ConcreteImplementorB extends Implementor { @Override public void operation() { System.out.println("具体方法B的完成."); } } class Abstraction { protected Implementor implementor; public void operation() { implementor.operation(); } public void setImplementor(Implementor implementor) { this.implementor = implementor; } } class RefinedAbstraction extends Abstraction { @Override public void operation() { implementor.operation(); } } 二:以手机和手机游戏为例完成桥接形式 package com.wzs.three; /** * 鬼话描绘形式--page231 桥接形式 * * @author Administrator * */ public class BridgePattern { public static void main(String[] args) { HandsetBrand ab = new HandsetBrandN();// 手机品牌N ab.setSoft(new HandsetGame()); ab.run(); ab.setSoft(new HandsetAddressList()); ab.run(); ab = new HandsetBrandM();// 手机品牌M ab.setSoft(new HandsetGame()); ab.run(); ab.setSoft(new HandsetAddressList()); ab.run(); } } /* * 手机软件 */ abstract class HandsetSoft { public abstract void run(); } /* * 手机游戏 */ class HandsetGame extends HandsetSoft { @Override public void run() { System.out.println("运转手机游戏."); } } /* * 手机通信录 */ class HandsetAddressList extends HandsetSoft { @Override public void run() { System.out.println("运转手机通信录."); } } /* * 手机品牌 */ abstract class HandsetBrand { public HandsetSoft soft; // 运转 public abstract void run(); // 设置手机软件 public void setSoft(HandsetSoft soft) { this.soft = soft; } } /* * 手机品牌N */ class HandsetBrandN extends HandsetBrand { @Override public void run() { soft.run(); } } /* * 手机品牌M */ class HandsetBrandM extends HandsetBrand { @Override public void run() { soft.run(); } }http://www.aaafaipiao.com/linked/20130313.do