<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    城市獵人

    在一網(wǎng)情深的日子里,誰能說得清是苦是甜,只知道確定了就義無反顧
    posts - 1, comments - 7, trackbacks - 0, articles - 89

    模式(七):適配器(Adapter)模式

    Posted on 2008-07-25 09:17 sailor 閱讀(146) 評(píng)論(0)  編輯  收藏 所屬分類: 模式

    定義
        將一個(gè)類的接口,轉(zhuǎn)換成客戶期望的另一個(gè)接口。適配器讓原本不兼容的類可以合作無間。

        類適配器可以分為類適配器和對(duì)象適配器

    adapter.bmp
    實(shí)用性
        當(dāng)需要私用一個(gè)現(xiàn)有的類而其接口并不符合你需要的時(shí),就使用適配器;

        適配器改變接口以符合用戶的期望;

    實(shí)例




     1package com.sailor.adapter;
     2
     3
     4/**
     5 * 被適配者
     6 * @author sailor
     7 * Jul 25, 2008 9:35:19 AM
     8 */

     9public class Duck {
    10    
    11    public Duck() {
    12
    13    }

    14
    15    public void fly(){
    16        System.out.println("I can fly");
    17    }

    18    
    19    public void quack(){
    20        System.out.println("quake!");
    21    }

    22}

    23


     

     1
     2package com.sailor.adapter;
     3
     4/**
     5 * 目標(biāo)接口
     6 * @author sailor
     7 * Jul 25, 2008 9:43:35 AM
     8 */

     9public interface Turkey {
    10
    11    public void gobble();
    12    public void fly();
    13}

    14


     

     1
     2package com.sailor.adapter;
     3
     4/**
     5 * 適配器
     6 * @author sailor
     7 * Jul 25, 2008 9:38:10 AM
     8 */

     9public class TurkeyAdapter implements Turkey{
    10
    11    private Duck duck;
    12
    13    public TurkeyAdapter(Duck duck) {
    14        this.duck = duck;
    15    }

    16    
    17    public void gobble(){
    18        duck.quack();
    19    }

    20    
    21    public void fly(){
    22        duck.fly();
    23    }

    24    
    25    
    26}

    27


     

     1
     2package com.sailor.adapter;
     3
     4/**
     5 * 客戶端
     6 * @author sailor
     7 * Jul 25, 2008 9:45:29 AM
     8 */

     9public class Client {
    10
    11    /**
    12     * @param args
    13     */

    14    public static void main(String[] args) {
    15        
    16        Duck duck = new Duck();
    17        
    18        Turkey turkey = new TurkeyAdapter(duck);
    19        
    20        turkey.gobble();
    21        turkey.fly();
    22    }

    23
    24}

    25


        參考資料:《First Head 設(shè)計(jì)模式》

    主站蜘蛛池模板: 永久在线毛片免费观看| 亚洲午夜精品一区二区麻豆| 尤物永久免费AV无码网站| 亚洲国产小视频精品久久久三级| 最近中文字幕免费完整| 中文永久免费观看网站| 亚洲精品色在线网站| 亚洲精品中文字幕无乱码麻豆| 国产精品亚洲成在人线| 亚洲男人在线无码视频| 国产精品色午夜视频免费看| 69视频免费观看l| 男人都懂www深夜免费网站| 一区免费在线观看| 国产亚洲精品免费| 亚洲精品永久在线观看| 亚洲H在线播放在线观看H| 亚洲黄色网址在线观看| 久久亚洲国产视频| 亚洲国产精品SSS在线观看AV| 久久久久亚洲av毛片大| 亚洲人成色77777在线观看大 | 伊人久久精品亚洲午夜| 国产成人3p视频免费观看| 四虎成人免费观看在线网址| 成年大片免费视频| 97在线免费视频| 大片免费观看92在线视频线视频| 亚洲av无码专区首页| 亚洲乱人伦中文字幕无码| 在线精品亚洲一区二区 | 18禁无遮挡无码国产免费网站| 亚洲AV无码专区国产乱码不卡| 亚洲 暴爽 AV人人爽日日碰| 亚洲综合伊人制服丝袜美腿| 91天堂素人精品系列全集亚洲| 亚洲人成网站在线播放影院在线 | 美女内射无套日韩免费播放| 黄色免费网址在线观看| 粉色视频免费入口| 一级成人a免费视频|