一:根本代碼 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