Java设计模式之适配器模式

       一直对设计模式感到很恐惧,但是作为程序员什么最重要?思想最重要,所以,还是要以砸破砂锅问到底的态度认识一下设计模式。

       之所以适配器模式能够引起我的注意,是因为接触springmvc中handlerAdapter的缘故,因为controller以不同的功能分成很多种类型的controller,但是看了别人的帖子之后,发现springmvc所谓的适配器模式其实就是个适配接口,不是真正意义上的适配器模式,那么,适配器模式是什么呢?

       比如,我们买的3C产品拿到手中都有一个问题,就是插头与我们的插座不匹配,在不匹配的情况下还想顺利给产品充电,最方便的就是去小卖部花个几块钱买一个转换插头。

       这个转换插头就是我们的适配器,插座就是要被适配的对象,实例代码如下:
public class 插座{       
        public void 充电(){
             System.out.println("充上电了!");
         }
}

public interface 转换插头{
      public  void    转换();    
}


public class 香港转大陆的插头 extends 充电 implements 转换插头{
        public void  转换(){
            super.充电();
        }
}


如果有了第三个类,那么我直接new出“香港转大陆的插头”,然后调用转换功能,就可以进行充电了。

如果你懂了上面的例子,那么可以继续了。

适配器模式分两种:类适配和对象适配。

上述的例子中我们的“香港转大陆的插头”继承了“充电”的类,继承就有意思了,我们JAVA只能单继承,如果我的这个“香港转大陆的插头”不只有充电的功能呢?比如我们插在电脑上还能传送数据呢?(例子不贴切,大概这么理解,就是功能不同),那么单继承就满足不了我们了,那么就可以使用“对象适配”了

如果我们不继承“充电”,该怎么办:
public class 香港转大陆的插头 implements 转换插头
         private 插座   object;
         public  香港转大陆的插头(插座   object){
               this.object = object;

         }
  
         public void  转换(){
           object.充电();
         }


这样就可以适配不同的对象了。

      

      

你可能感兴趣的:(java,设计模式,适配器模式)