Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

会员投稿 投稿指南 本期推荐:
搜索:
您的位置: Linux安全网 > Linux集群 > Architecture > » 正文

适配器--Adapter

来源: jtlyuan 分享至:

问题引出:大家生活中可能碰到的一个问题就是你新买的手机自带的耳机是2.5接口的,不幸的是有一天你的耳机坏了,你去市面上根本就找不到2.5的耳机了,基本上是3.5接口了,没办法你只好买了个3.5接口的耳机,老板告诉你:“我给你一个适配器”这不问题就解决了。

问题分析:3.5的接口的耳机在你手机上本来是没法使用的,因为它没有按照2.5接口的设计啊,而现在我又想使用这幅耳机,于是乎有了“适配器(Adapter)”这个一个东西出来了。

Adapter模式的定义:把一个类的接口变换成客户端所期待的另外一种接口,使得原本由于接口不兼容而不能再一起工作的那些类可以一起工作。

适配器模式分类:1.类的适配器模式(采用继承实现)2.对象适配器(采用对象组合方式实现)

类的适配器类图:




模式的构成:以问题中例子为模型

目标抽象角色(Target):定义客户所期待要使用的接口,我们把手机当做客户端,客户端所需要使用的耳机的接口是2.5的,在这里就可以抽象出来一个2.5接口的设备(并不一定是耳机)。

源角色(Adaptee):需要被适配的接口,在这里指的是我们从市场上买回来的那个3.5接口的耳机。

适配器角色(Adapter)用来把源接口转换成符合要求的目标接口的设备,在这里指的是老板送给我们的那个“转换器”。

客户端(Client)这里指的就是那个给我们带来麻烦的手机喽。

示例代码:

  1. //Target
  2. package pattern.adapter;
  3. public interface Target {
  4. public void provide2_5();
  5. }
  6. //Adaptee
  7. package pattern.adapter;
  8. public class Adaptee {
  9. public void provide3_5(){
  10. System.out.println("我是一个3.5的接口哦");
  11. }
  12. }
  13. //Adapter
  14. package pattern.adapter;
  15. public class Adapter extends Adaptee implements Target {
  16. @Override
  17. public void provide2_5() {
  18. this.provide3_5();
  19. }
  20. }
  21. //Client
  22. package pattern.adapter;
  23. public class CellPhoneClient {
  24. public static void main(String[] args) {
  25. Target target = new Adapter();
  26. //该手机只支持2.5接口的耳机
  27. target.provide2_5();
  28. }
  29. }
//Target package pattern.adapter; public interface Target { public void provide2_5(); } //Adaptee package pattern.adapter; public class Adaptee { public void provide3_5(){ System.out.println("我是一个3.5的接口哦"); } } //Adapter package pattern.adapter; public class Adapter extends Adaptee implements Target { @Override public void provide2_5() { this.provide3_5(); } } //Client package pattern.adapter; public class CellPhoneClient { public static void main(String[] args) { Target target = new Adapter(); //该手机只支持2.5接口的耳机 target.provide2_5(); } }

输出结果

我是一个3.5的接口哦

从输出结果可以看出只支持2.5接口的手机成功的使用3.5的耳机了。这就是适配器模式的作用。

连接参考:http://lhbsmile.blog.163.com/blog/static/857031772009111123721557/

  • 大小: 22.8 KB
  • 查看图片附件

Tags:
分享至:
最新图文资讯
1 2 3 4 5 6
验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史