適配器模式(Adapter)

適配器模式(Adapter)付魔,講一個(gè)類的接口轉(zhuǎn)換成客戶希望的另外一個(gè)接口愤兵。Adapter模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作铁蹈。
當(dāng)系統(tǒng)數(shù)據(jù)和行為都正確,但是接口不符時(shí)拉队,我們應(yīng)該考慮用適配器弊知,目的是使控制范圍外的一個(gè)原有對(duì)象與某個(gè)接口匹配。適配器模式主要應(yīng)用于希望復(fù)用一些現(xiàn)存的類粱快,但是接口又與復(fù)用環(huán)境要求不一致的情況秩彤。
PS:即對(duì)外部接口進(jìn)行更進(jìn)一層的封裝

主方法

public class main {
    public static void main(String[] args) {
        Player b = new Forwards("巴蒂爾");
        b.Attack();
        Player m = new Guards("麥迪");
        m.Attack();

        Player ym = new Translator("姚明");
        ym.Attack();
        ym.Defense();
    }
}

抽象類

/**
 * 球員抽象類
 */
public abstract class Player {
    protected String name;
    public Player(String name) {
        this.name = name;
    }
    public abstract void Attack();
    public abstract void Defense();
}

實(shí)現(xiàn)類

public class Forwards extends Player {
    public Forwards(String name) {
        super(name);
    }
    public void Attack() {
        System.out.println(String.format("前鋒{%s}進(jìn)攻", name));
    }

    public void Defense() {
        System.out.println(String.format("前鋒{%s}防守", name));
    }
}
public class Guards extends Player {
    public Guards(String name) {
        super(name);
    }
    public void Attack() {
        System.out.println(String.format("后衛(wèi){%s}進(jìn)攻", name));
    }

    public void Defense() {
        System.out.println(String.format("后衛(wèi){%s}防守", name));
    }
}

外部接口

public class ForeignCenter {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void Attack() {
        System.out.println(String.format("外籍中鋒{%s}進(jìn)攻", name));
    }

    public void Defense() {
        System.out.println(String.format("外籍中鋒{%s}防守", name));
    }
}

外部接口適配器類

/**
 * 類內(nèi)部聲明并且實(shí)例化一個(gè)內(nèi)部“外籍中鋒”對(duì)象,任何對(duì)Translator類Attack和Defense的調(diào)用其實(shí)就是對(duì)內(nèi)部類的對(duì)應(yīng)方法的調(diào)用
 */
public class Translator extends Player {
    private ForeignCenter foreignCenter = new ForeignCenter();

    public Translator(String name) {
        super(name);
        foreignCenter.setName(name);
    }

    public void Attack() {
        foreignCenter.Attack();
    }

    public void Defense() {
        foreignCenter.Defense();
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末事哭,一起剝皮案震驚了整個(gè)濱河市漫雷,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌慷蠕,老刑警劉巖珊拼,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異流炕,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)仅胞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門每辟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人干旧,你說(shuō)我怎么就攤上這事渠欺。” “怎么了椎眯?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵挠将,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我编整,道長(zhǎng)舔稀,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任掌测,我火速辦了婚禮内贮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘汞斧。我一直安慰自己夜郁,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布粘勒。 她就那樣靜靜地躺著竞端,像睡著了一般。 火紅的嫁衣襯著肌膚如雪庙睡。 梳的紋絲不亂的頭發(fā)上事富,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天技俐,我揣著相機(jī)與錄音,去河邊找鬼赵颅。 笑死虽另,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的饺谬。 我是一名探鬼主播捂刺,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼募寨!你這毒婦竟也來(lái)了族展?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤拔鹰,失蹤者是張志新(化名)和其女友劉穎仪缸,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體列肢,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡恰画,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了瓷马。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拴还。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖欧聘,靈堂內(nèi)的尸體忽然破棺而出片林,到底是詐尸還是另有隱情,我是刑警寧澤怀骤,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布费封,位于F島的核電站,受9級(jí)特大地震影響蒋伦,放射性物質(zhì)發(fā)生泄漏弓摘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一凉敲、第九天 我趴在偏房一處隱蔽的房頂上張望衣盾。 院中可真熱鬧,春花似錦爷抓、人聲如沸势决。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)果复。三九已至,卻和暖如春渤昌,著一層夾襖步出監(jiān)牢的瞬間虽抄,已是汗流浹背走搁。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留迈窟,地道東北人私植。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像车酣,于是被迫代替她去往敵國(guó)和親曲稼。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容