首页 / 设计模式 / java设计模式--适配器模式
java设计模式--适配器模式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java设计模式--适配器模式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2160字,纯文字阅读大概需要4分钟。
内容图文
![java设计模式--适配器模式](/upload/InfoBanner/zyjiaocheng/772/2c93151f7b7642b1b37665c60a6097f5.jpg)
适配器模式:将一个本不能兼容客户端的类的接口通过适配器转为可以兼容的接口。
这里有一个“中国学生接口”,定义了“说中国话”和“听中国话两个方法”
//中国学生接口 public interface ChineseStudent { void speakChinese(); void listenChinese(); } //中国学生类 public class ChineseStudent1 implements ChineseStudent { public String name; public ChineseStudent1(String name){ this.name = name; } @Override public void speakChinese() { System.out.println("学生:" + name + "说话"); } @Override public void listenChinese() { System.out.println("学生:" + name + "聆听"); } } //测试方法 public class Test { public static void main(String[] args) { ChineseStudent chineseStudent = new ChineseStudent1("zhangsan"); chineseStudent.speakChinese(); chineseStudent.listenChinese(); } }
测试结果:
学生:zhangsan说话
学生:zhangsan聆听
此时如果来了一个外国学生呢,这个外国学生不会说中文并且也听不懂中文,那么他如何去和其他中国学生交流呢,此时我们就需要一个“翻译”——适配器
//外国学生类 public class ForeignStudent { private String name; public ForeignStudent(String name){ this.name = name; } public void speakEnglish(){ System.out.println("学生:" + name + "说话"); } public void listenEnglish() { System.out.println("学生:" + name + "聆听"); } }
//适配器类 public class Translator implements ChineseStudent{ //实例外国学生类 ForeignStudent foreignStudent = new ForeignStudent("Joe");
@Override public void speakChinese() { foreignStudent.speakEnglish(); } @Override public void listenChinese() { foreignStudent.listenEnglish(); } }
//测试方法 public class Test { public static void main(String[] args) { ChineseStudent chineseStudent = new ChineseStudent1("zhangsan"); chineseStudent.speakChinese(); chineseStudent.listenChinese(); ChineseStudent foreignStudent = new Translator(); foreignStudent.speakChinese(); foreignStudent.listenChinese(); } }
测试结果:
学生:zhangsan说话
学生:zhangsan聆听
学生:Joe说话
学生:Joe聆听
这样的话即使外国学生类不能直接实现“说中文”和“听中文”方法,但是通过适配器就完成了这一操作,便兼容了ChineseStudent接口。
总结:虽然适配器模式可以去兼容接口,但是这种操作通常是维护时不希望去改变兼容方与被兼容方的类时才被考虑的方法,如果在开发时能考虑到接口不兼容的问题,及时解决,通常问题就不会扩大到去兼容接口的程度。
内容总结
以上是互联网集市为您收集整理的java设计模式--适配器模式全部内容,希望文章能够帮你解决java设计模式--适配器模式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。