Posted on 2011-04-22 14:25
哈希 阅读(123)
评论(0) 编辑 收藏 所属分类:
设计模式
今天决定好好学习一下设计模式:代码也敲了,谈一下我个人的心得吧:
一、适配器模式:
这种模式在继承父类的时候实现接口的情况下,实现父类的构造方法;通过该类可以实现调用接口的方法,还可以调用父类的方法,实例如下
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
}
}
一、 调用方法如下:
public class Test extends Text implements Myshape {
private Translator tran;
public void draw() {
// TODO Auto-generated method stub
System.out.println("实现了接口Myshape的draw()方法!");
}
public void write() {
// TODO Auto-generated method stub
System.out.println("实现了接口Myshape的write()方法?");
}
public static void main(String[] args) {
Test t=new Test();
t.draw();
t.write();
String str="没天理!";
t.SetContent("这是我" +
str +
"设置的值" +
"你好啊!" +
"美眉!");
System.out.println(t.GetContent());
}
}
二、此方法正体现面向对象的思想,通过另一个类把对象套用在构造方法里面,由此实现适配器模式!
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("实现1");
}
public void write() {
// TODO Auto-generated method stub
System.out.println("实现2");
}
public static void main(String[] args) {
Translator ts=new Translator();
TestObject test=new TestObject(ts);
test.setTran("好了我可以用我的秘书翻译了!");
System.out.println(test.getTran());
}
}
自己个人理解,还望指教!