Adapter 介面卡設計模式

2021-07-07 11:10:55 字數 1805 閱讀 7731

* 定義抽象圖形類

*@author softstar

*/abstract class shape

public

shape(int x, int y)

public

void

setlocation(int x, int y)

public

int getlocation() ;

}abstract

void display();

}

//point類

public

class

point

extends

shape

public

point(int x, int y)

@override

void display()

}//line類

public

class

line

extends

shape

public

line(int x, int y)

@override

void display()

}//sequare

public

class

sequare

extends

shape

public

sequare(int x, int y)

@override

void display()

}

//newcircle實體類 [已存在]

public

class newcircle

public

newcircle(int x, int y)

public

void

setlocation()

public

int getlocation() ;

}public

void

display()

public

void

othermethod()

}

//cicle介面卡類

public

class

circle

extends

shape

public

circle(int x, int y)

@override

void display()

}

//測試類

public

class main

}

a line [10,10]

a newcircle [5,5]

意圖: 是控制範圍之外的乙個原有物件與某個介面匹配。

解決方案: adapter模式提供了具有所需介面的包裝類。

實現: 將原有類包含在另乙個類之中。讓包含類與需要的介面匹配,呼叫被包容的類的方法。

adapter模式的通用結構圖

設計模式 介面卡 Adapter

在軟體系統中,由於應用環境的變化,常常需要將 一些現存的物件 放在新的環境中使用,但是新環境要求的介面是這些現存物件所不滿足的。如何應對這種 遷移的變化 如何既能利用現有物件的良好實現,同時又能滿足新的應用環境所要求的介面?將乙個類的介面轉換成客戶希望的另乙個介面。adapter模式使得原本由於介面...

設計模式 介面卡模式 Adapter

定義 把乙個類的介面轉換成客戶端期待的介面 從而使原來由於介面不相容而不能一起工作的那些類可以一起工作 典型描述 筆記本電源線是三個口的,如果插板只有兩個口的時候就不匹配了 這時候乙個三口到兩口的轉化器就解決此問題 介面卡模式就相當於轉化器 介面卡模式的構成 目標抽象角色 target 定義客戶要的...

設計模式 介面卡模式(Adapter)

介面卡模式是將乙個型別介面進行封裝從而轉化另乙個型別的介面,它的作用相當於乙個型別轉換器。1 模式中的角色 adaptee介面 這是需要被轉換的源型別,即需要進行轉換的介面。adapter類 對adaptee進行轉換的類 target介面 目標介面,最終轉化成的介面型別 2 角色關係圖 3 例項 描...