介面卡模式

2021-10-01 16:43:42 字數 1989 閱讀 7909

下面就是類介面卡模式中的電源介面卡**如下:

這下面的**就是類介面卡模式的**:

/**

* @author: jason

* @create: 2019/12/24 11:05

* @description 目標介面

*/public inte***ce taragetpower

/** * @author: jason

* @create: 2019/12/24 11:07

* @description 現有的電壓輸出類

適配者介面

*/public class existpower

}/**

* @author: jason

* @create: 2019/12/24 11:09

* @description 電源介面卡

* 介面卡作用

*/public class adapterpower extends existpower implements taragetpower

下面的**就是物件是介面卡的**:

物件介面卡相對於類介面卡來講:最主要的區別就是介面卡類的寫法不同,

如下就是介面卡類的**寫法:前面的目標介面以及適配者類都是一樣的

/**

* @author: jason

* @create: 2019/12/24 11:17

* @description 物件介面卡模式

*/public class poweradapterobject implements taragetpower

}

預設介面卡模式:

所謂的預設介面卡模式主要解決的乙個問題就是:在目標介面中,無需實現所有的方法,只需要根據自己的業務需求就實現哪些需求方法

這跟介面卡模式的宗旨是不相違背的,因為這是過濾了目標介面中的多餘方法,這也算是介面卡模式中一種吧

**如下:

/**

* @author: jason

* @create: 2019/12/24 11:05

* @description 目標介面

*/public inte***ce taragetpower

/** * @author: jason

* @create: 2019/12/24 14:20

* @description 適配角色-乙個抽象類並且實現了目標介面中的方法

*/public abstract class powerrelnize implements taragetpower

@override

public int output20v(

) @override

public int output30v(

) @override

public int output50v()}

/** * @author: jason

* @create: 2019/12/24 14:27

* @description 測試預設類所需的類

具體的應用罷了

*/public class adapteetestobject

public int output5v(

) public int output20v(

) public int output30v()}

/** * @author: jason

* @create: 2019/12/24 14:32

* @description 預設介面卡測試類

*/public class adapteetest })

;}}

總結: 預設介面卡模式中的流程主要的就是:首先開始定義乙個目標介面中的諸多方法,然後就是定義乙個抽象類實現目標介面中的方法,然後就是定義乙個類來測試新增的介面的類,感覺預設介面卡模式就是在物件介面卡模式上增加的一點東西

介面卡模式(類介面卡 物件介面卡)

做個筆記 引用 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...