介面卡模式主要是為了讓不符合當前介面標準的物件 變得符合這一標準
看上去比較難懂 那就直接舉例子上**
如下乙個場景
定義乙個人 這個人能做什麼事
public
inte***ce
human
定義乙個具體的行為 說話
public
class
action1
implements
human
}
定義第二個行為 敲**
public
class
action2
implements
human
}
定義乙個dosomething類 引數為human型別的物件
public
class
dosomething
}
建立乙個測試類,通過傳入不同的human型別的實現類物件 就可以執行對應的實現類方法
這種思想就是策略模式的思想
public
class
testmain
}
此時又來了乙個類dog
public
class
dog}
但是我們並不能把dog類的物件直接傳入dosomething方法,簡單的說就是dog類不屬於human型別傳不進去
不符合黎克特制替換原則 如下面**
public
class
testmain
}
那麼有什麼方法可以讓dosomething能夠接受dog呢?
首先我們造乙個human型別的類 dogadaptor
public
class
dogadaptor
implements
human
}
然後
public
class
testmain
}
結果列印:
說話敲**
狗叫這使得狗間接的變**了 【滑稽】
介面卡模式(類介面卡 物件介面卡)
做個筆記 引用 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...