设计模式之Adapter——电话篇(原创)

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

设计模式之Adapter——电话篇

前几天一位朋友把他的电话号码告诉我,我当时随手抄在一张小纸片上,然后把它夹在了一本书里,后来没想到我老婆把这本书邮个他弟了,这不当我有重要的事要和朋友时,没有办法联系了。书已经被邮了,这是不可更改的事实,打电话给朋友说重要的事,也是必须要干的。这些都不能以我的意志而转移。我该怎么办呢?还好有现代化的通讯工具--电话,我可以打电话给小舅子,让他告诉我不就得了吗?

好了言归正传,让我们开始吧。

1、在这里,先定义一个被邮书(PostedBook)类:

public class PostedBook {

//从书中获得我所要的电话号码

public void getTelCodeFromBook() {

System.out.println("得到电话号码!");

}

}

2、再定义一个打电话给朋友(TelToFriend)的类:

public class TelToFriend {

public void telSayThing(){

System.out.println("说重要的事!");

}

}

3、定义获得打电话(TelPhone)类:

public class TelPhone extends TelToFriend{

private PostedBook postedBook;

public TelPhone (PostedBook postedBook) {//打电话关于被邮的书

this.postedBook=postedBook;

}

public void getTelCode() { //从被邮的书中获得电话号码

postedBook.getTelCodeFromBook();

}

}

4、编写测试类:

public class Test {

public static void main(String args[]){

PostedBook postedBook = new PostedBook(); //被邮的那本书

TelPhone telPhone = new TelPhone(postedBook);

telPhone.getTelCode(); //得到朋友电话号码

telPhone.telSayThing(); //和朋友说重要的事

}

}

5、说明:

A:Adapter模式的目的是将两个没有关系的类结合在在一起使用,在本例中被邮的书和打电话给朋友是两个风马牛不向及的事,正是因为一个电话号码才让他们有所关联,但获得这个号码的前提是我必须先打电话,因此通过电话完成了我的目的.

B:通过打电话这个协调类,我获得了所要的电话号码,同时也和朋友说了事.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航