日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

adapter pattern java_适配器模式(Adapter Pattern)

發布時間:2025/3/19 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 adapter pattern java_适配器模式(Adapter Pattern) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

適配器模式(Adapter Pattern) 是作為兩個不兼容的接口之間的橋梁。

例子:讀卡器是作為內存卡和筆記本之間的是適配器,內存卡插入讀卡器,讀卡器再插入筆記本電腦。

參考資料:?、

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

何時使用:1.要使用已有的一個類的方法,但是不符合我們的使用規范,且我們不知道其源碼,無法copy。2。建立一個重復使用的類,用于聯系一些彼此之間沒有太大聯系的類。3.通過接口的轉換,將一個類插入到另一個類中。

如何實現:繼承或者依賴。適配器繼承或者依賴已有的代碼,實現目標類的接口。

注意事項:適配器不是在詳細設計時添加的,而是解決正在服役的項目的問題。

適配器有兩種模式:這兩種的差別在于一個是繼承源角色類,一個是獲取源角色類的對象。

類適配器模式:(繼承源角色)

對象適配器模式:(獲取源角色對象)

差別:1.類適配器的話,因為是繼承了源角色類的關系,所以不能去處理源角色類的子類。而對象適配器則沒有關系,一個適配器可以將其源類和其子類都適配到目標接口。

2.類適配器可以重新定義源角色類的方法,通過重寫方法即可。而對象適配器的話只能通過適配器子類的方法來達到重寫源角色類的方法 。

代碼實現:類適配器模式

1 /**

2 * 目標角色

3 */

4 public interface Target {

5 //已有的方法

6 void sampleOp1();

7 //沒有但是想要實現的方法

8 void sampleOp2();

9 }

1 /**

2 * 源角色

3 */

4 public class Adaptee {

5

6 public void sampleOp1(){

7 System.out.println("sampleOp1...");

8 }

9 }

1 /**

2 * 適配器角色

3 */

4 public class Adapter extends Adaptee implements Target {

5

6 @Override

7 public void sampleOp2() {

8 System.out.println("sampleOp2....");

9 }

10 }

//測試

@Test

public void test()throws Exception{

Target target = new Adapter();

target.sampleOp1();

target.sampleOp2();

}

/*

*輸出

*sampleOp1...

*sampleOp2....

*/

代碼實現:對象適配器模式

1 /**

2 * 目標角色

3 */

4 public interface Target {

5 //已有的方法

6 void sampleOp1();

7 //沒有但是想要實現的方法

8 void sampleOp2();

9 }

10

11

12 /**

13 * 源角色

14 */

15 public class Adaptee {

16 public void sampleOp1(){

17 System.out.println("sampleOp1...");

18 }

19 }

20

21

22 /**

23 * 適配器角色

24 */

25 public class Adapter implements Target{

26 private Adaptee adaptee;

27

28 public Adapter(Adaptee adaptee) {

29 this.adaptee = adaptee;

30 }

31

32 @Override

33 public void sampleOp1() {

34 this.adaptee.sampleOp1();

35 }

36

37 @Override

38 public void sampleOp2() {

39 System.out.println("sampleOp2....");

40 }

41 }

//測試

@RunWith(SpringRunner.class)

@SpringBootTest

public class AdapterTest {

@Test

public void test()throws Exception{

Target adapter = new Adapter(new Adaptee());

adapter.sampleOp1();

adapter.sampleOp2();

}

}

/*

*sampleOp1...

*sampleOp2....

*/

除此之外,適配器模式還有一種應用。缺省模式

應用場景:我們要實現一個接口,但是在該接口的大量方法內部,我們只想要其中的少數一兩個。

在接口的實現中,必須要將其所有的方法進行重寫。所以會在代碼內有大量的空缺省的方法,造成類的臃腫。

適配器的缺省模式:一個抽象的適配器角色實現該接口。

目標角色繼承該抽象類。只需要實現自己想要的方法即可。

代碼實現:

1 /**

2 * 一個和尚應該要做的事情

3 */

4 public interface Bonze {

5 void chiZhai();

6 void nianFo();

7 void daZuo();

8 void saoDi();

9 void xiWu();

10 void zhuangZhong();

11 String getName();

12 }

13

14

15

16 /**

17 * 適配器

18 */

19 public abstract class TianStar implements Bonze {

20 @Override

21 public void chiZhai() {

22

23 }

24

25 @Override

26 public void nianFo() {

27

28 }

29

30 @Override

31 public void daZuo() {

32

33 }

34

35 @Override

36 public void saoDi() {

37

38 }

39

40 @Override

41 public void xiWu() {

42

43 }

44

45 @Override

46 public void zhuangZhong() {

47

48 }

49

50 @Override

51 public String getName() {

52 return null;

53 }

54 }

55

56

57

58 /**

59 * 目標角色

60 */

61 public class LuZhiShen extends TianStar {

62 @Override

63 public void xiWu() {

64 System.out.println("" +

65 " 拳打鎮關西;\n" +

66 " 大鬧五臺山;\n" +

67 " 大鬧桃花村;\n" +

68 " 火燒瓦官寺;\n" +

69 " 倒拔垂楊柳;");

70 }

71

72 @Override

73 public String getName() {

74 return "魯智深在此";

75 }

76 }

77

78

79 @RunWith(SpringRunner.class)

80 @SpringBootTest

81 public class LuZhiShenTest {

82

83 @Test

84 public void test()throws Exception{

85 Bonze bonze = new LuZhiShen();

86 bonze.xiWu();

87 System.out.println(bonze.getName());

88 }

89 }

90

91 /*

92 * 拳打鎮關西;

93 * 大鬧五臺山;

94 * 大鬧桃花村;

95 * 火燒瓦官寺;

96 * 倒拔垂楊柳;

97 *魯智深在此

98 */

希望與廣大網友互動??

點此進行留言吧!

總結

以上是生活随笔為你收集整理的adapter pattern java_适配器模式(Adapter Pattern)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲插插插 | 久久99久久99精品蜜柚传媒 | 亚洲国产精品二区 | 黄色片91| 人人爽人人草 | 亚洲黄页网站 | www.夜夜骑 | 久久午夜网 | a级片免费在线观看 | 91蝌蚪在线| 日韩一区二区在线观看视频 | 亚洲乱码中文字幕久久孕妇黑人 | 午夜免费小视频 | 婷婷在线免费观看 | 精品久久ai| 午夜激情福利电影 | 精品成人免费视频 | 亚洲精品综合在线观看 | 日韩久| av影视在线| 性――交――性――乱睡觉 | 日本伊人网 | av一区二区不卡 | 波波野结衣 | 成人av电影在线观看 | 69视频网址 | 亚洲精品乱码久久久久久日本蜜臀 | 8mav在线 | 在线观看网址你懂的 | 亚洲爆爽 | www久久久久久久 | 影音先锋成人在线 | av片亚洲 | 亚洲一区二区蜜桃 | 亚洲精品成人无码熟妇在线 | 日韩七区 | 午夜日韩电影 | 夜色88v精品国产亚洲 | 米奇色| 亚洲AV成人无码精品久久盆瓶 | 猛男被粗大男男1069 | 欧美在线你懂的 | 亚洲黄av | 奇米影视av | 欧美性粗暴 | 国产亲伦免费视频播放 | 色多多视频在线 | 免费视频精品 | 日韩射| 国产精品久久久久久亚洲毛片 | 古装做爰无遮挡三级聊斋艳谭 | 91一区二区视频 | 51热门大瓜今日大瓜 | 日日操日日 | 成人免费看片' | 熟妇高潮一区二区高潮 | 成人在线播放视频 | 亚洲久久综合 | 日本成人在线网站 | 91免费在线看 | 国产高清免费视频 | 国产成人精品亚洲日本在线观看 | 日本免费www| 成年人色片 | 亚洲精品一区二区三区婷婷月 | 黑森林av导航 | 亚洲yy| 亚洲影视中文字幕 | 69xxx免费视频 | 男女午夜免费视频 | 尤物网站在线播放 | 午夜精品偷拍 | av夜夜 | 亚洲精品成人影视 | 国产人妻精品午夜福利免费 | 亚洲天堂免费在线 | 男女扒开双腿猛进入爽爽免费 | 给我看高清的视频在线观看 | 欧美视频不卡 | av男人的天堂av | 舔花蒂 | 成人国产精品入口 | 爆乳熟妇一区二区三区霸乳 | 五月天婷婷在线观看 | 另类小说欧美 | 成年网站 | 国产欧美视频在线观看 | 北岛玲一区二区 | 精品少妇视频 | 国产成人精品一区二区色戒 | 国产素人自拍 | 美女爽爽爽 | 91亚洲国产成人精品一区二区三 | 国产情侣91| aa视频网站 | 伊人网av| 欧美日韩毛片 | 99色 | 国产一区二区在线观看免费 |