适配器模式(Adapter):类适配器、对象适配器
来源:互联网 发布:c语言逻辑或运算 编辑:程序博客网 时间:2024/06/05 09:20
原文:http://haolloyin.blog.51cto.com/1177454/346128
// 已存在的、具有特殊功能、但不符合我们既有的标准接口的类class Adaptee {public void specificRequest() {System.out.println("被适配类具有 特殊功能...");}}
// 目标接口,或称为标准接口interface Target {public void request();}// 具体目标类,只提供普通功能class ConcreteTarget implements Target {public void request() {System.out.println("普通类 具有 普通功能...");}}
// 适配器类,继承了被适配类,同时实现标准接口class Adapter extends Adaptee implements Target{public void request() {super.specificRequest();}}
// 测试类public class Client {public static void main(String[] args) {// 使用普通功能类Target concreteTarget = new ConcreteTarget();concreteTarget.request();// 使用特殊功能类,即适配类Target adapter = new Adapter();adapter.request();}}
普通类 具有 普通功能...被适配类具有 特殊功能...
// 适配器类,直接关联被适配类,同时实现标准接口class Adapter implements Target{// 直接关联被适配类private Adaptee adaptee;// 可以通过构造函数传入具体需要适配的被适配类对象public Adapter (Adaptee adaptee) {this.adaptee = adaptee;}public void request() {// 这里是使用委托的方式完成特殊功能this.adaptee.specificRequest();}}
// 测试类public class Client {public static void main(String[] args) {// 使用普通功能类Target concreteTarget = new ConcreteTarget();concreteTarget.request();// 使用特殊功能类,即适配类,// 需要先创建一个被适配类的对象作为参数Target adapter = new Adapter(new Adaptee());adapter.request();}}
0 0
- 适配器(adapter)模式--类适配器和对象适配器
- 适配器模式(Adapter):类适配器、对象适配器
- 适配器模式(Adapter):类适配器、对象适配器
- 适配器模式(Adapter):类适配器、对象适配器
- 适配器模式(Adapter):类适配器、对象适配器
- 适配器模式(Adapter):类适配器、对象适配器
- 适配器模式(Adapter):类适配器、对象适配器
- 适配器模式(Adapter):类适配器、对象适配器
- 适配器模式(Adapter):类适配器、对象适配器
- 适配器模式(Adapter):类适配器、对象适配器
- 适配器模式(Adapter):类适配器、对象适配器
- 适配器模式(Adapter):类适配器、对象适配器
- 适配器模式(Adapter):类适配器、对象适配器
- JAVA设计模式-适配器(类适配器、对象适配器)模式-Adapter
- 7种结构型模式之:适配器模式(Adapter):类适配器、对象适配器
- 设计模式之适配器模式(Adapter):类适配器、对象适配器
- [设计模式](五):适配器模式(Adapter)[类适配器、对象适配器、接口适配器]
- 适配器模式:类适配器和对象适配器
- sizeof()解析
- 小米系列手机调试Installation failed with message Failed to establish session
- java企业级工程师学习课程表
- android清单文件
- Android5.0编写hello从APP->framework->jni->hal->驱动的BUG
- 适配器模式(Adapter):类适配器、对象适配器
- 【BZOJ 1022】 [SHOI2008]小约翰的游戏John
- 计算密集型&IO密集型
- 通讯录的常用功能保存
- jquery验证大全
- 简单编码(java语言把数字转换成单个字符)
- 复杂网络社区结构发现算法-基于python networkx clique渗透算法
- 看程序员的呐喊有感
- ExecutorService的正确关闭方法