設計模式筆記1 介面卡Adapter模式

2021-07-13 01:13:26 字數 1450 閱讀 9985

1.根據意圖對模式分類

2.介面型模式介紹

2.1. 抽象類與介面的區別

①乙個類能實現多個介面,但只能繼承乙個抽象類 ②

抽象類可以包含具體方法,但是介面只能都是抽象方法 ③

抽象類可以宣告和使用字段,介面不能,但可以建立靜態的final常量 ④

抽象類可以定義建構函式,但是介面不能 ⑤

抽象類中的抽象方法的訪問型別可以是public ,protected和預設型別,但介面中的抽象方法只能是public型別的,並且預設即為public abstract型別。

......

3. 介面卡模式

適配以模式的意圖在於:使用不同的介面的類所提供的服務為客戶端提供它期望的服務。介面卡模式將乙個類的介面轉換成客戶期望的另乙個介面。使得原本由於介面不相容而不能一起工作的類可以在一起工作。

3.1例子

/**

客戶端,乙個電腦需要用三芯插座充電

*/public class computer

//充電,需要用到的是三芯插座。

public void charge()

public static void main(string args)

}

/*

* 三芯插座:目標介面

*/public inte***ce threeplugif

public class gbtwoplug 

}

採用組合方式的介面卡成為物件介面卡

特點:把被適配者作為乙個物件組合到介面卡類中,以修改目標介面包裝被適配者。

/*

* 介面卡,兩芯插座;

*/public class twoplugadapter implements threeplugif

@override

public void powerwiththree()

}

採用繼承方式的介面卡成為類介面卡

特點:通過多重繼承不相容介面,實現對目標介面的匹配,單一的為某個類實現適配

/*

* 繼承

*/public class twoplugadapterextends extends gbtwoplug implements threeplugif

}

介面卡模式Adapt

例子 牆上的插座為三孔介面,但是很多家電都是雙孔標準,這個時候就需要乙個介面卡,讓雙孔的家電通過介面卡後也可以接入三孔介面的插座 兩種介面卡 物件介面卡 三孔插座 雙孔插座 使用雙孔插座的電視 物件介面卡 author wjm date 2020 6 16 17 10 public class tv...

介面卡模式(Adapt) 設計模式(六)

作用 將乙個類的介面轉換成客戶希望的另外乙個介面。adapt 模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作。解析 adapt 模式其實就是把完成同樣的乙個功能但是介面不能相容的類橋接在一起使之可以在一起工作,這個模式使得復用舊的介面成為可能.實現 adapt 模式有兩種實現辦法,一種...

介面卡設計模式1

面試 你懂什麼是分布式系統嗎?redis分布式鎖都不會?1 定義 是把乙個類的介面變換成客戶端所期待的另外一種介面,從而使原本因介面不匹配而無法在一起工作的兩個類能夠在一起工作。2 分類 a 類的介面卡模式 b 物件介面卡模式 3 下面詳細分析類的介面卡模式 a 涉及到的角色 目標 target 角...