欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Adapter模式筆記

系統(tǒng) 1866 0
名稱:適配器, 轉(zhuǎn)接器或包裝器.
?
想一想生活中常見的轉(zhuǎn)接器, 我的手機原配的2.5MM耳機壞了, 有一個普通的3.5MM耳機插頭大了, 用不了, 這時候我就需要一個轉(zhuǎn)接器.
這個轉(zhuǎn)接器所做的事情就是接口的轉(zhuǎn)換, 使得原本不兼容的兩類東西可以一起工作.
?
如果這個轉(zhuǎn)接器一頭是3.5MM的插口, 一頭是2.5MM的插頭, 它就是一個對象適配器(對象組合的方法)
如果這個轉(zhuǎn)接器既有2.5MM/3.5MM的插口/插頭, 也有2.5MM/3.5MM的插口/插頭, 它可說是一個類適配器(多重繼承的方法)
?
當(dāng)你想使用一個已有的類, 而它的接口不符合你的需求, 那么用適配器吧
當(dāng)你想建立一個新的類, 它可以與其他接口協(xié)同工作, 雖然那些接口可能并不兼容你的類,用適配器吧
當(dāng)你想使用一些已有的類,?而它們實現(xiàn)了共同的接口,還是用適配器吧,注意是對象適配器噢
?
有的時候我們定義了一個接口, 可是呢, 大多數(shù)子類并不需要實現(xiàn)所有的方法, 這時我們可用一個抽象父類來適配這個接口
比如 java.awt.event .WindowAdapter, 它實現(xiàn)了 WindowFocusListener , WindowListener , WindowStateListener , EventListener
如果要實現(xiàn) WindowListener 接口,則您必須定義該接口內(nèi)的所有方法。而此抽象類將所有方法都定義為 null,所以只需針對關(guān)心的事件定義方法

Adapter有兩種實現(xiàn)方式
1. 類適配器
2. 對象適配器

看GOF時就順手寫一個Stack Adapter的例子, java從1.1版本帶來的Stack有不少缺點, 用List包裝來實現(xiàn)Stack是個不錯的選擇, 應(yīng)用Adapter模式, 可以很簡單的做到,以下程序中, ClassStack為類適配器, ObjectStack為對象適配器
?
      import java.util.LinkedList;
import java.util.List;
import static java.lang.System.*;
/**
 * StackAdapter, a demo program of Adapter
 * 
 * @author:Walter Fan at 
      
        http://wind007.iteye.com
      
      


?* @version 1.0 10/28/2008
 */
public class StackAdapter {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		out.println("Adapter pattern demo:");
		Stack<Integer> stack1 = new ClassStack<Integer>();
		out.println("=== Class Adapter ===");
		for (int i = 0; i < 10; i++) {
			stack1.push(i);
		}
		out.println("=== Object Adapter ===");
		Stack<Integer> stack2 = new ClassStack<Integer>();
		for (int i = 0; i < 10; i++) {
			stack2.push(i);
		}
		
		out.println("Good Bye,\n-Walter Fan");
		
	}

}

interface Stack<T>
{
  void push(T data);
  T pop();
  T top();
  int size();
  void clear();
  boolean isEmpty();
}
 
class ObjectStack<T> implements Stack<T> {
    private LinkedList<T> myList =new LinkedList<T>() ;
    public void push(T data) {
        myList.addFirst(data);
    }
    public T top() {
        return myList.getFirst();
    }
    
    public T pop() {
        return myList.removeFirst();
    }
    
    public boolean isEmpty() {
        return myList.isEmpty();
    }
    
    public void clear() {
        myList.clear();
    }
    
    public int size() {
    	return myList.size();
    }
    
}

class ClassStack<T> extends LinkedList<T> implements Stack<T>, List<T> {

	private static final long serialVersionUID = 1L;

	public T top() {
		return getFirst();
	}
}
    
?
?
?
?

Adapter模式筆記


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲 欧美日韩 国产 中文 | 看个毛片 | 拍真实国产伦偷精品 | 欧美日韩国产一区二区三区不卡 | www一区二区 | 久久中文精品 | 国产精品麻豆视频 | 一级毛片视频在线 | 久久夜夜操妹子 | 精品综合在线 | 亚洲色婷婷久久精品AV蜜桃久久 | 日本黄色网址免费 | 毛片在线不卡 | 国产在线视频自拍 | 毛片1毛片2毛片3毛片4 | 欧美日韩高清一区 | 欧美精彩视频在线观看 | 精品久久影院 | 欧美福利大片 | 成人在线小视频 | 一区二区三区日本在线观看 | 国产成人综合久久精品红 | 成人福利视频在线看高清观看 | 欧美区日韩区 | 免费观看成人毛片A片2008 | 成人午夜激情 | 羞羞视频网站在线看 | 欧美日韩中文字幕 | 精品亚洲永久免费精品 | 亚洲自拍偷拍色图 | 九九久久精品视频 | 女人a级毛片19毛水真多 | 久久国产欧美日韩精品 | 米奇777四色精品人人爽 | 一区二区三区四区免费 | 日本在线亚州精品视频在线 | 国产精品观看在线亚洲人成网 | 一级在线免费视频 | 国产精品久久久久久久午夜 | 欧美一级小视频 | 91高清网站 |