鬼話描繪形式_橋接形式

一:根本代碼 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
相關文章
相關標籤/搜索