* 定義抽象圖形類
*@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 例項 描...