如果在系統中存在不相容的介面,可以通過引入乙個介面卡來使得原本因為介面不相容而不能一起工作的兩個類可以協同工作。
介面卡模式包括類介面卡和物件介面卡。
類介面卡**實現:
(1)目標抽象類
public
inte***ce
robot
(2)適配者類
public
class
dogpublic
void
run(
)}
(3)介面卡類
public
class
dogadapter
extends
dogimplements
robot
public
void
move()
}
(4)客戶端**
public
class
client
}
物件介面卡**實現:
(1)目標抽象類
public
abstract
class
dataoperation
public string getpassword()
public
abstract string doencrypt
(int key,string ps)
;}
(2)適配者類:
public
final
class
caesar
if(c>=
'a'&&c<=
'z')
es+=c;
}return es;}}
}
(3)介面卡類
因為適配者類是final定義,無法被繼承,因此採取在介面卡中定義乙個caesar型別的成員物件。
public
class
cipheradapter
extends
dataoperation
public string doencrypt
(int key, string ps)
}
(4)
客戶端**
public
class
client
結構型模式之介面卡模式
介面卡模式 物件介面卡模式結構 target 目標抽象類 目標抽象類定義客戶所需介面,可以是乙個抽象類或介面,也可以是具體類。adapter 介面卡類 介面卡可以呼叫另乙個介面,作為乙個轉換器,對adaptee和target進行適配。在物件介面卡模式中,介面卡類通過繼承target並關聯乙個adap...
結構型模式之 介面卡模式
介面卡模式 adapter pattern 是作為兩個不相容的介面之間的橋梁。這種型別的設計模式屬於結構型模式,它結合了兩個獨立介面的功能。意圖 將乙個類的介面轉換成客戶希望的另外乙個介面。介面卡模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作。主要解決 主要解決在軟體系統中,常常要將一...
結構型模式 介面卡模式
介面卡模式 將乙個類的介面變換成客戶端所期待的另一種介面,從而使原本因介面不匹配而無法在一起工作的兩個類能夠在一起工作。介面卡模式角色目標 targe 角色 該角色定義要轉換成的目標介面 源 adaptee 角色 需要被轉換成目標角色的源角色 介面卡 adapter 角色 該角色是介面卡模式的核心,...