国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

java設計模式6--適配器模式(Adapter )

2019-11-14 23:41:16
字體:
來源:轉載
供稿:網友
java設計模式6--適配器模式(Adapter )

本文地址:http://m.survivalescaperooms.com/archimedes/p/java-adapter-pattern.html,轉載請注明源地址。

適配器模式(別名:包裝器)

將一個類的接口轉換成客戶希望的另外一個接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。

概述

適配器模式是將一個類的接口(被適配者)轉換成客戶希望的另外一個接口(目標)的成熟模式,該模式中涉及有目標、被適配者和適配器。適配器模式的關鍵是建立一個適配器,這個適配器實現了目標接口并包含有被適配者的引用。

適用性

1.你想使用一個已經存在的類,而它的接口不符合你的需求。

2.你想創建一個可以復用的類,該類可以與其他不相關的類或不可預見的類(即那些接口可能不一定兼容的類)協同工作。

3.(僅適用于對象Adapter)你想使用一些已經存在的子類,但是不可能對每一個都進行子類化以匹配它們的接口。對象適配器可以適配它的父類接口。

參與者

1.Target 定義Client使用的與特定領域相關的接口。

2.Client 與符合Target接口的對象協同。

3.Adaptee 定義一個已經存在的接口,這個接口需要適配。

4.Adapter 對Adaptee的接口與Target接口進行適配

適配器模式的結構與使用

模式的結構中包括三種角色:

  • 目標(Target)

  • 被適配者(Adaptee)

  • 適配器(Adapter)

模式的UML類圖:

實戰部分

用戶已有一個兩相的插座,但最近用戶又有了一個新的三相插座。用戶現在已經有一臺洗衣機和一臺電視機,洗衣機按著三相插座的標準配有三相插頭,而電視機按著兩相插座的標準配有兩相插頭?,F在用戶想用新的三相插座來使用洗衣機和電視機。

1.目標(Target) : ThreeElectricOutlet.java

public interface ThreeElectricOutlet{    public abstract void connectElectricCurrent(); }

2.被適配者(Adaptee): TwoElectricOutlet.java

public interface TwoElectricOutlet{    public abstract void connectElectricCurrent();  } 

3.適配器(Adapter):TreeElectricAdapter.java

public class TreeElectricAdapter implements ThreeElectricOutlet{   TwoElectricOutlet outlet;   TreeElectricAdapter(TwoElectricOutlet outlet){       this.outlet=outlet;   }   public void connectElectricCurrent(){       outlet.connectElectricCurrent();   }}

4.應用 application.java_1

public class Application{    public static void main(String args[]){       ThreeElectricOutlet outlet;             Wash wash=new Wash();                   outlet=wash;                             System.out.

4.應用Application.java_2

class Wash implements ThreeElectricOutlet{     String name;    Wash(){       name="黃河洗衣機";    }    Wash(String s){       name=s;    }    public void connectElectricCurrent(){       turnOn();    }    public void turnOn(){       System.out.println(name+"開始洗衣物。");    }}

4.應用Application.java_3

class TV implements TwoElectricOutlet{      String name;    TV(){       name="長江電視機";    }    TV(String s){       name=s;    }    public void connectElectricCurrent(){       turnOn();    }    public void turnOn(){       System.out.println(name+"開始播放節目。");    }}
適配器模式的優點

•目標(Target)和被適配者(Adaptee)是完全解耦的關系。

•適配器模式滿足“開-閉原則”。當添加一個實現Adaptee接口的新類時,不必修改Adapter,Adapter就能對這個新類的實例進行適配。

您還可能感興趣:

java設計模式系列:

java設計模式5--原型模式(Prototype)

java設計模式4--建造者模式(Builder)

java設計模式3--單例模式(Singleton)

java設計模式2--抽象工廠模式(Abstract Factory)

java設計模式1--工廠方法模式(Factory Method)

java設計模式0--設計模式簡介


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泾川县| 个旧市| 扎鲁特旗| 厦门市| 奇台县| 桐梓县| 三门县| 金沙县| 凤山市| 阿巴嘎旗| 保亭| 凤城市| 临沂市| 新蔡县| 漳浦县| 久治县| 大港区| 阳春市| 伊宁县| 宣化县| 大丰市| 万源市| 贡山| 根河市| 东宁县| 莲花县| 平阳县| 南平市| 文化| 六枝特区| 高陵县| 黔南| 电白县| 东港市| 广安市| 静乐县| 夏邑县| 文山县| 蓬安县| 黔西县| 郑州市|