介面卡模式(adapter pattern)
定義:把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本因為介面不匹配而無法在一起工作的兩個類能夠在一起工作,又稱為轉換器模式、變壓器模式、包裝模式。
(1)物件介面卡模式:在該模式中,介面卡容納乙個它包裹的類的例項。在這種情況下,介面卡其呼叫被包裹的物件的物理實體。
(2)類介面卡模式:在該模式下,介面卡其繼承自己實現的類。
下面以物件介面卡為例。
模式類圖結構:
使用場合:
(1)、軟體系統結構需要公升級或擴充套件,又不想影響原有系統的穩定執行的時候。
(2)、轉換類三支箭的差別不是太大的時候。
(3)、像建立乙個可以服用的類,該類可以與其他不相關的類,或不可預見的類協同工作的時候。
**實現:
//電源基類,提供電壓值和電源單位
package com.demo.power;
public abstract class absbasepower
public float getpower()
public void setpower(float power)
public string getunit()
public void setunit(string unit)
}
//220v電源介面
package com.demo.power.v220;
public inte***ce ipower220
//220v電源
package com.demo.power.v220;
import com.demo.power.absbasepower;
public class power220 extends absbasepower implements ipower220
@override
public void output220v()
}
//12v電源介面
package com.demo.power.v12;
public inte***ce ipower12
//12v電源物件介面卡
package com.demo.power.v12;
import com.demo.power.absbasepower;
public class adapterpower12 implements ipower12
@override
public void output12v()
else if(powerfloat == 220)
else if (powerfloat == 110)
else
//處理轉換結果
powerfloat = (int) (powerfloat * 10)/10.0f;
system.out.println("------- 這是"+powerfloat+this.absbasepower.getunit()+"電源-----");}}
//測試物件介面卡
package com.demo;
import com.demo.power.v12.adapterpower12;
import com.demo.power.v12.ipower12;
import com.demo.power.v220.power220;
public class client
}
Java 介面卡模式
先上基本概念,再談談我的理解 介面卡模式有兩種,物件介面卡和類介面卡。介面卡模式將乙個類的介面轉換成客戶期望的另乙個介面,介面卡讓原本介面不相容的類可以合作無間。例子 交流電介面卡。看看類圖關係 這個為物件介面卡的類圖 解釋一下 比如client類有些方法a b adaptee也有一些特別的方法a1...
Java 介面卡模式
inte ce windows class mywindows implements windows public void max public void close public class adaptdemo 先看 介面windows,介面實現類mywindows,但是我現在想實現介面wind...
java介面卡模式
gnight的文章 定義 屬於結構型模式,其主要作用是將乙個類的介面轉換成客戶希望的另外乙個介面。介面卡模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作。比如你手機只有2.5mm介面 貌似就nokia幹的出來 但你只能買到3.5mm的,這時就需要買個介面卡了 意圖宗旨 保留現有類所提供的...