模式思想
改變乙個類的對外介面(增加或減少),以滿足不同外部呼叫者的需求;
角色成員
目標介面(target):客戶所期待的介面。目標可以是具體的或抽象的類,也可以是介面。
需要適配的類(adaptee):需要適配的類或適配者類。
介面卡(adapter):通過包裝乙個需要適配的物件,把原介面轉換成目標介面。
適配的介面
public
inte***ce
itarget
- -預設介面卡- -
adpater負責適配的介面的所有預設實現,其他需要適配的類只要繼承自它,則完成適配;
adapter
public
class
adapter
implements
itarget
@override
public
void
bluetooth()
}
adaptee
public
class
adaptee
extends
adapter
}
- - 類介面卡- -
介面卡(adapter)繼承某乙個需要的類(adaptee),保留它原來的方法,同時實現適配的介面(itarget),新增adaptee中缺少的方法
adapter
public
class
adapter
extends
adaptee
implements
itarget
}
adaptee
public
class
adaptee
public
void
phonecall()
}
- - 物件介面卡- -
介面卡(adapter)包含需要適配的類(adaptee)的乙個例項物件,在adaptee能夠實現的功能,由這個例項物件完成,缺少的方法由adapter實現;
adapter
public
class
adapter
implements
itarget
@override
public
void
internet()
@override
public
void
bluetooth()
}
adaptee
public
class
adaptee
public
void
phonecall()
}
介面卡模式(類介面卡 物件介面卡)
做個筆記 引用 public inte ce usb public inte ce psp public class usber implements usb 類介面卡 psp適用usb介面 public class usbadapter extends usber implements psp 物...
設計模式 介面卡模式 類介面卡 物件介面卡
乙個小例子,便於理解,上 這是我們造的。現在想用這個方法。public class adaptee 類介面卡。對我們想要的方法封裝一下,target就能像之前一樣,呼叫request方法即可。public class adapter1 extends adaptee implements targe...
6 1 介面卡 類介面卡模式
6.1 介面卡 類介面卡模式 必要條件i.已經存在的基礎類 ii.期望的介面 iii.介面卡類繼承繼承類和期望的介面 暴露了基礎類的介面,增加使用成本import lombok.extern.slf4j.slf4j import org.junit.test 已經存在的類 class basecla...