Posted on 2011-04-22 14:25
哈希 閱讀(126)
評論(0) 編輯 收藏 所屬分類:
設(shè)計模式
今天決定好好學(xué)習(xí)一下設(shè)計模式:代碼也敲了,談一下我個人的心得吧:
一、適配器模式:
這種模式在繼承父類的時候?qū)崿F(xiàn)接口的情況下,實現(xiàn)父類的構(gòu)造方法;通過該類可以實現(xiàn)調(diào)用接口的方法,還可以調(diào)用父類的方法,實例如下
public interface Myshape {
public void draw();
public void write();
}
public class Translator {
private String tran;
public String getTran() {
return tran;
}
public void setTran(String tran) {
this.tran = tran;
}
public Translator() {
// TODO Auto-generated constructor stub
}
}
一、 調(diào)用方法如下:
public class Test extends Text implements Myshape {
private Translator tran;
public void draw() {
// TODO Auto-generated method stub
System.out.println("實現(xiàn)了接口Myshape的draw()方法!");
}
public void write() {
// TODO Auto-generated method stub
System.out.println("實現(xiàn)了接口Myshape的write()方法?");
}
public static void main(String[] args) {
Test t=new Test();
t.draw();
t.write();
String str="沒天理!";
t.SetContent("這是我" +
str +
"設(shè)置的值" +
"你好啊!" +
"美眉!");
System.out.println(t.GetContent());
}
}
二、此方法正體現(xiàn)面向?qū)ο蟮乃枷耄ㄟ^另一個類把對象套用在構(gòu)造方法里面,由此實現(xiàn)適配器模式!
public class TestObject implements Myshape {
/*
* 對象
*/
private Translator tst;
public TestObject(Translator t) {
// TODO Auto-generated constructor stub
tst=t;
}
public String getTran() {
return tst.getTran();
}
public void setTran(String str) {
tst.setTran(str);
}
public void draw() {
// TODO Auto-generated method stub
System.out.println("實現(xiàn)1");
}
public void write() {
// TODO Auto-generated method stub
System.out.println("實現(xiàn)2");
}
public static void main(String[] args) {
Translator ts=new Translator();
TestObject test=new TestObject(ts);
test.setTran("好了我可以用我的秘書翻譯了!");
System.out.println(test.getTran());
}
}
自己個人理解,還望指教!