91视频丝瓜-91视频完整版高清-91视频网-91视频网店-91视频网或将从此无大神-91视频网入口

您好,歡迎訪問上海現易電子元器件有限公司網站!

021-51870898
021-51870898   18019251567
4新聞資訊
您的位置: 首頁 ->  新聞資訊 -> 電源

?適配器模式的優缺點

文章出處:電源 責任編輯:上海現易電子元器件有限公司 發表時間:2018-01-15

適配器是一個接口轉換器,它可以是一個獨立的硬件接口設備,允許硬件或電子接口與其它硬件或電子接口相連,也可以是信息接口。比如:電源適配器、三角架基座轉接部件、USB與串口的轉接設備等。


一臺實驗室離心機通常可以配多個轉子,容量大小不一。當在同一臺離心機需要配同一種類但容量不一的兩個轉子時,可以考慮在大容量的試管孔里放一個適配器以達到適合小容量試管的試管孔,這樣就只需要配上大容量的轉子加上一套適配器就可以滿足要求了,這樣既可以免除換轉子時拆卸的復雜工序,又節約金錢,因為一套適配器的價格遠遠低一個轉子的價格。


適配器模式的優缺點


Java 適配器模式


適配器模式就是把一個類的接口轉換成客戶端所期待的另外一種接口,從而使原接口不匹配而無法在一起工作的的兩個類能在一起工作。從功能上說,這些接口不兼容的類一般具有相同或相似的功能。通常我們通過修改該類的接口來解決這種接口不兼容的情形,但是如果我們不愿意為了一個應用而修改各原接口,或者我們壓根兒就沒有對象的源代碼的時候,適配器模式就會派上用場了。


適配器的優點:


1、將目標類和適配者類解耦


2、增加了類的透明性和復用性,將具體的實現封裝在適配者類中,對于客戶端類來說是透明的,而且提高了適配者的復用性


3、靈活性和擴展性都非常好,符合開閉原則


適配器所涉及的角色包括下面幾種:


目標(Target):定義一個客戶端使用的特定接口。


客戶端(Client):使用目標接口,與和目標接口一致的對象合作。


被適配者(Adaptee):一個現存需要適配的接口。


適配器(Adapter):負責將Adaptee的接口轉換為Target的接口。適配器是一個具體的類,這是該模式的核心。


適配器分為類適配器和對象適配器兩種,下面將詳細講述。


類適配器


所謂類適配器,指的是適配器Adapter繼承我們的被適配者Adaptee,并實現目標接口Target。由于Java中是單繼承,所以這個適配器僅僅只能服務于所繼承的被適配者Adaptee。代碼如下:


被適配者(Adaptee)


16package com.bluemsun.classadapter;


public class Person {


private int id;


private String name;


/**


* person可以現在只能說英語


*/


public void sayEnglish(){


System.out.println(“Person can say english!”);


}


/**


* 省略setter,getter.


*/


}


目標接口(Target)


package com.bluemsun.classadapter;


/**


* 目標要求person可以說英語,法語,日語。但是現在的person僅僅可以說英語


* @author Administrator


*


*/


public interface Target_Person {


void sayEnglish();


void sayFrench();


void sayJapanese();


}


適配器(Adapter)


package com.bluemsun.classadapter;


/**


* 類適配器,因為繼承了Person,而Java中只能單繼承,所以這個適配器只為person這一個類服務


* 這個適配器就讓person類在不修改源碼的基礎上能實現目標接口所指定的方法


* @author Administrator


*


*/


public class Adapter_Person extends Person implements Target_Person{


@Override


public void sayFrench() {


System.out.println(“Person can say French!”);


}


@Override


public void sayJapanese() {


System.out.println(“Person can say Japanese!”);


}


}


客戶端(Client)


package com.bluemsun.classadapter;


public class Test {


public staTIc void main(String[] args) {


Target_Person person = new Adapter_Person();


person.sayEnglish();


person.sayFrench();


person.sayJapanese();


}


}


上面的幾段簡單代碼演示了類適配器的作用。正如我們開始所言,這個適配器Adapter只能為Person這一個類所服務。這時候你可能會想,要是我所需要適配的類很多,是不是都需要為每一個需要適配的類寫一個Adapter?有沒有更加靈活的方式呢?答案是:有!就是我們下面所講的對象適配器。


對象適配器


所謂對象適配器,簡單的說就是適配器實現我們的目標接口,但是并不繼承需要被適配的類。而是通過在適配器的構造函數中將需要被適配的類傳遞進來從而進行適配。代碼如下:(Target,Adaptee同上)


適配器(Adapter)


package com.bluemsun.objectdapter;


import com.bluemsun.classadapter.Person;


import com.bluemsun.classadapter.Target_Person;


/**


* 對象適配器,與類適配器不同的是:對象適配器可以適配多個源到目標


* @author Administrator


*


*/


public class Adapter_Person implements Target_Person{ //僅僅實現目標接口


private Person person;


//在構造函數中將Adaptee類Person傳遞進來


public Adapter_Person(Person person){


this.person = person;


}


//實現目標接口中的sayEnglish()--調用Adaptee中的sayEnglish()


@Override


public void sayEnglish() {


this.person.sayEnglish();


}


//實現接口中的其它方法


@Override


public void sayFrench() {


System.out.println(“person can say French!”);


}


@Override


public void sayJapanese() {


System.out.println(“person can say Japanese!”);


}


}


客戶端(Client)


package com.bluemsun.objectdapter;


import com.bluemsun.classadapter.Person;


import com.bluemsun.classadapter.Target_Person;


public class Test {


public staTIc void main(String[] args) {


Target_Person person = new Adapter_Person(new Person());


person.sayEnglish();


person.sayFrench();


person.sayJapanese();


}

}


對象適配器可以適配多個帶適配的類。只需要你在Adapter的構造方法中傳遞不同的帶適配的類即可。具有靈活性。


類適配器的優點:


1、由于適配器類是適配者類的子類,因此可以再適配器類中置換一些適配者的方法,使得適配器的靈活性更強。


類適配器的缺點:


1、對于Java、C#等不支持多重繼承的語言,一次最多只能適配一個適配者類,而且目標抽象類只能為接口,不能為類,其使用有一定的局限性,不能將一個適配者類和他的子類同時適配到目標接口。


對象適配器的優點:


1、把多個不同的適配者適配到同一個目標,也就是說,同一個適配器可以把適配者類和他的子類都適配到目標接口。


對象適配器的缺點:


1、與類適配器模式相比,要想置換適配者類的方法就不容易。

上海現易電子元器件有限公司 版權所有 未經授權禁止復制或鏡像

CopyRight 2020-2025 www.urqm.cn All rights reserved   滬ICP備2020031792號

友情鏈接:

電話

易經理

18019251567

微信

易經理

易經理

頂部

咨詢
主站蜘蛛池模板: 国产91网站在线观看 | 果冻传媒网站免费入口破解版 | 亚洲A片无码一区二区蜜桃久久 | 女警察的奶头又喷奶水小说 | 日韩啊v | 免费jizz在在线播放国产 | 特级淫片国产免费高清视频 | 亚洲国产精品一区二区第一页 | 开心久久婷婷综合中文字幕 | 天天操天天摸天天曰天天干天天弄天天干 | 午夜福利视频合集4000手机 | 国产亚洲tv在线观看 | 99精品久久久久久国产人妻 | 九九久久精品国产免费看小说 | 看片免费所有网站 | 好久被狂躁A片视频无码免费视频 | 天天做天天爱天天大综合 | 色综合久久精品亚洲国产消防 | 久久机热视频免费 | 巨乳女子校生 | 精品国产网 | 日韩精品 欧美 | 无码国产欧美一区二区三区不卡 | 四虎影视国产在线观看精品 | 九九热线有精品视频99 | 亚洲国产成人精品无码区5566 | 无码AV亚洲一区二区毛片 | 黄色毛片视频免费 | 一区二区人妻无码欧美 | 欧美日韩第一区 | 成人黄网站A片免费观看 | 国产精品99久久久精品无码 | 2024最新国产不卡a国内2024 | 久久亚洲一级毛片 | 久久爱色综合天天综合网 | 国产精品一区在线麻豆 | 日本按摩xxxxx高清 | 欧美日韩视频在线成人 | 免费做爰猛烈吃奶摸视频在线观看 | 国色天香一卡二卡三卡四卡视频 | 香港一级淫片高清视频 |