类适配器模式
2015-12-14 10:16
253 查看
适配器模式在设计模式体系中属于结构型模式,可以分为三类:类的适配器模式、对象的适配器模式和接口的适配器模式,由于类和接口的适配器模式需要适配器继承原有的类,而纯面向对象语言Java、C#都是不支持多继承的,这在一定程度上制约了类和接口的适配器模式的使用场景,故使用的时候要注意。
使用目的:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
当新接口出现的时候,由于和老的接口不兼容,这个时候,我们采用一个适配器类实现新的接口并且继承老的业务类,这样就能同时处理新老业务。
示例代码:
package com.adapter;
/**
* 类适配器模式 <br>
* 说明: 当新接口出现的时候,由于和老的接口不兼容,这个时候,我们采用一个适配器类实现新的接口并且继承老的业务类,这样就能同时处理新老业务。
*/
public class Source {
public void oldFunction() {
System.out.println("oldFunction:Source");
}
}
使用目的:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
类适配器模式
说明:当新接口出现的时候,由于和老的接口不兼容,这个时候,我们采用一个适配器类实现新的接口并且继承老的业务类,这样就能同时处理新老业务。
示例代码:
package com.adapter;
/**
* 类适配器模式 <br>
* 说明: 当新接口出现的时候,由于和老的接口不兼容,这个时候,我们采用一个适配器类实现新的接口并且继承老的业务类,这样就能同时处理新老业务。
*/
public class Source {
public void oldFunction() {
System.out.println("oldFunction:Source");
}
}
package com.adapter; public interface Target { // 旧接口 void oldFunction(); // 新接口 void newFunction(); }
package com.adapter; /** * 适配器,用来做接口转换 */ public class Adapter extends Source implements Target { public Adapter() { super(); } @Override public void newFunction() { System.out.println("newFunction:Adapter"); } }
package com.adapter; /** * 类适配器模式 */ public class Main { // 新老接口一起调用 public static void main(String[] args) { Target target = new Adapter(); target.oldFunction(); target.newFunction(); } }
相关文章推荐
- UI之targetAction
- [转载]JNI学习积累之二 ---- 数据类型映射、域描述符说明
- easyui-textbox 和 easyui-validatebox 设置值和获取值
- java反序列化利用工具
- linux归档文件,归档目录
- 程序员学习能力提升三要素
- php如何处理高并发,整理
- CUDA下在Host端分配的几种内存模式
- shouldAutorotateToInterfaceOrientation 不触发或者不执行的问题 转载
- LeetCode 289 Game of Life
- 解决用浏览器打开本地Android API很慢的问题
- JS中Json对象和字符串之间的转换
- 学习opencv(3)——cvRodrigues2()、cvMatMulAdd()
- BIOS与UEFI、MBR和GPT介绍
- Android系统下,用adb实现自动获取应用性能数据
- python实例编写(4)--js,滚动条,cookie,验证码,获取特定属性的元素,实现原理
- 机器学习--梯度下降法
- 前端开发工程化探讨--基础篇(长文)
- Java多态性的理解
- k-d tree算法