Adapter(适配器模式)

一、什么是Adapter模式

定义一个包装类,用于包装一个不兼容的对象。荣国我们需要将一个直流12V的笔记本电脑在交流100V下工作,这时候我们就需要使用一个适配器。

二、什么时候需要使用Adapter模式呢

很多时候,我们并非从零开始,经常会使用到i现有的类。特别是当现有的类已经类充分测试过了,bug很少,而且已经被用于其他软件之中时,我们更愿意将这些类作为组件重复利用。
Adapter模式会对现有的类进行适配,生成新的类。通过该模式可以很方便地创建我们需要的方法群,当出现bug时,我们可以很明确的知道Bug不在现有的类中,我们只需要调查扮演Adpater角色的类即可。

三、Adpater模式的分类

类适配器模式(使用继承的适配器)
对象适配器模式(使用委托的适配器)

四、类适配器模式

类继承图
Target:期待得到的方法
Adapter:将被适配者转换为目标接口
Adapter:被适配者。
我们可以看出,Target期望调用printWeak方法,但是adaptee并没有,这个时候我们就需要一个适配器来提供中间环节,把Adaptee的Api和Target的Api衔接起来,这就是适配器的作用。
代码解析:

public class Banner{
private String string;
public Banner(String string){
	this.string=string;
}
public void showWithParen(){
System.out.println("("+string+")")
}
public void showWithParen(){
System.out.println("\*" + string + "\*")
}
}

//print 接口 (Target)
public Interface print{
public abstract void printWeak();
public abstract void printStrong();
}


//PrintBanner接口(Adapter)
public class PrintBanner extends Banner implements Print{
public PrintBanner(String string) {
super(string);
}
public void printWeak(){
showWithParen();
}
public void printString(){
showWithAster()
}
}
五、对象适配器模式

类适配器模式我们使用了继承来进行适配,而对象适配器模式使用委托(聚合)
对象适配器模式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值