今天看啥
    热点:

      天发国际娱乐官网:将中国足球运动和中国国足定义为缺乏精神滋养也许过于残酷和偏颇,但事实正在证明,某些人确实是在迷信金钱的巨大作用,而无视精神的锻造和萃取,仿佛一切都是用钱能够解决的。

      适配器--Adapter,adapter


      问题引出:大家生活中可能碰到的一个问题就是你新买的手机自带的耳机是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):这里指的就是那个给我们带来麻烦的手机喽。

      示例代码:

       

      Java代码 复制代码 收藏代码
      //Targetpackage pattern.adapter;public interface Target {    public void provide2_5();}//Adapteepackage pattern.adapter;public class Adaptee {    public void provide3_5(){       System.out.println("我是一个3.5的接口哦");    }}//Adapterpackage pattern.adapter;public class Adapter extends Adaptee implements Target {    @Override    public void provide2_5() {       this.provide3_5();    }}//Clientpackage 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的耳机了。这就是适配器模式的作用。

       

       

            优势和缺陷:

             适配器模式可以将一个类的接口和另一个类的接口匹配起来,使用的前提是你不能或不想修改原来的适配器母接口。

        

               应用情景:

              1、对象需要利用现存的并且接口不兼容的类。

              2、你需要参加可重用的类以协作其他接口不一定兼容的类。

              3、你需要使用若干个现存的子类但不想派生这些子类的每个接口。

       

       

       

       

      连接参考:http://www.1click-soft.com/tfgjylgw/blog/static/857031772009111123721557/

      www.1click-soft.comtrue/article/20180111/207454.htmlTechArticle适配器--Adapter,adapter 问题引出 :大家生活中可能碰到的一个问题就是你新买的手机自带的耳机是2.5接口的,不幸的是有一天你的耳机坏了,你去市面上根本就找不到2.5的耳机了,基本...

      相关文章

        暂无相关文章

      帮客评论

      视觉看点
      百度 360 搜狗