當在開發Class時,在功能上可以利用舊的Class功能
這時候這個新的Class,就可以用Adapter方式去包裝
也就是說
在Adapter內定義新的method,但method內實際是在執行舊Class的method
使用者只知道他呼叫的是Adapter的method,不需知道其內部是如何運作
Adapter的做法,分別可以用繼承或委讓方式來實做
參與者
1.Old Class
原有已經開發好的Class
譬如 原本已有一個print() method
2.Adapter1
使用繼承方式來包裝Old Clas所產生新的Class
class Adapter1 extend Old{
function Adapter1(){}
function show(){print()}
}
3.Adapter2
在Class內包含了一個Old Class的instnace,用委讓的方式
來執行真正要做的事
class Adapter2{
var old:Old
function Adapter2(){
old=new Old();
}
function show(){
old.print()
}
}
4.Main
主要應用程式
//var adapter:Adapter1=new Adapter1('hello');
var adapter:Adapter2=new Adapter2('hello');
adapter.show();
沒有留言:
張貼留言