設計模式之介面卡模式

2022-02-03 12:56:57 字數 1726 閱讀 2302

介面卡模式:用於解決兩個系統之間的不相容問題,解決兩個介面之間的連線問題;

目標:將乙個類的介面更改為適配另乙個類的介面,並且使這些不相容的類一起工作。

最佳解決方案:兩者實現同乙個介面或者繼承自同乙個抽象類

類圖uml

例項:例如有乙個抽象類player是籃球運動員,該類姓名屬性,具有兩個方法attack(),dfend(),現在中國籃球運動員姚明,調到美國nba,但是他聽不懂教練的語言,只能配翻譯,

翻譯在這個地方就是介面卡

player抽象類

public

abstract

class

player

public

void

setname(string name)

public

abstract

void

attack();

public

abstract

void

dfend();

}

繼承自player的usaplayer

public

class

usaplayer extends player

@override

public

string getname()

@override

public

void

setname(string name)

@override

public

void

attack()

@override

public

void

dfend()

}

現在中國運動員的類

public class chinaplayer 

public void setname(string name)

public void chinaattack()

public void chinadfend()

}

為了使教練組能夠像呼叫player一樣chinaplayer類

使用翻譯類

public

class

translater extends player

@override

public

string getname()

@override

public

void

setname(string name)

@override

public

void

attack()

@override

public

void

dfend()

}

主程式**

public

class

main

}

執行效果

核心目的,解決兩個不相容的類直接相容的問題。

設計模式之介面卡模式(類介面卡模式)

介面卡模式,即定義乙個包裝類,用於包裝不相容介面的物件 包裝類 介面卡adapter 被包裝物件 適配者adaptee 被適配的類 把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本介面不匹配而無法一起工作的兩個類能夠在一起工作。介面卡模式的形式分為 類的介面卡模式和物件的介面卡模式 模式原理...

設計模式之 介面卡模式

1,介面卡模式把乙個類的介面變換成客戶端所期待的另一種介面,從而使原本因介面不匹配而無法一起工作的兩個類能夠在一起工作 2,介面卡模式有兩種 1 類的介面卡模式 介面卡類繼承源類 這樣介面卡類就繼承了源類有的方法 並實現目標介面,實現在源類中沒有而在介面中有的方法,從而實現介面卡類有目標介面的所有方...

設計模式之介面卡模式

介面卡模式定義 將乙個類的介面,轉換成客戶期望的另乙個介面。介面卡讓原本介面不相容的類可以合作無間。簡單定義 封裝物件,並提供不同的介面。簡單例子 鴨子介面 package headfirst.adapter.ducks public inte ce duck 具體鴨子 package headfi...