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.充电();
}


这样就可以适配不同的对象了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值