將乙個類的介面,轉換成期望的另外乙個藉口,使得由於介面不相容而不能一起工作的那些類可以一起工作。
介面卡模式 構成:客戶端、目標介面、原本介面、具體請求
/* * 三相插座介面
*/public inte***ce threeplugif
1)組合:採用組合方式的介面卡成為物件介面卡
特點:把「被適配者」作為乙個物件組合到介面卡類中,已修改目標介面包裝適配者;
/* * 採用組合方式的二相轉三相插座的介面卡
*/public class twoplugadapter implements threeplugif
@override
public void powerwiththree()
}2)繼承:採用繼承方式的稱為類介面卡
特點:通過多重繼承不相容介面,實現對目標介面的匹配,單一的為某個類而實現介面卡
/* * 採用繼承方式的二相轉三相的插座介面卡
*/public class twoplugadapterextends extends gbtwoplug implements threeplugif
}1、透明:使用介面卡,客戶端可以呼叫同一介面,因而對客戶端來說是透明的,這樣做更簡單,更直接,更緊湊。 2
、重用:復用了現存的類,解決了現存類和復用環境要求不一致的問題。 3
、低耦合:將目標類和適配者類解耦,通過引入乙個介面卡類重用現有的適配者類,而無需修改原有**(遵循開閉原則)。
package com.imooc.pattern.adapter;
public class notebook
// 使用插座充電
public void charge()
public static void main(string args)
}
通過轉化
使用二相電流供電
借助繼承介面卡
使用二相電流供電
介面卡模式(類介面卡 物件介面卡)
做個筆記 引用 public inte ce usb public inte ce psp public class usber implements usb 類介面卡 psp適用usb介面 public class usbadapter extends usber implements psp 物...
介面卡模式 預設介面卡,類介面卡,物件介面卡
模式思想 改變乙個類的對外介面 增加或減少 以滿足不同外部呼叫者的需求 角色成員 目標介面 target 客戶所期待的介面。目標可以是具體的或抽象的類,也可以是介面。需要適配的類 adaptee 需要適配的類或適配者類。介面卡 adapter 通過包裝乙個需要適配的物件,把原介面轉換成目標介面。適配...
設計模式 介面卡模式 類介面卡 物件介面卡
乙個小例子,便於理解,上 這是我們造的。現在想用這個方法。public class adaptee 類介面卡。對我們想要的方法封裝一下,target就能像之前一樣,呼叫request方法即可。public class adapter1 extends adaptee implements targe...