Java适配器模式生活中的实例,帮助理解

以手机充电的场景为例,写了个适配器的代码。

接口: 220V电源  Interface Charge220{}

手机的充电方法:void Charge(Charge220 c){

}

日常生活,我们可以直接获取220V电源,但是手机又不能用220V点压充电,所以我们需要一个充电器(适配器)

代码如下:

//我们只有220V的可以直接使用的电压
interface Charge220{
	void charge();
}                   

//代表3V的电源,但我们直接获取不到
class V3 {
	public void charge() {
		System.out.println("charging with 3V");
	}
}                 

//适配器,实现(接入)220v,持有3v对象,在充电方法中调用3v的充电
class VAdapter implements Charge220{     
	V3 v3 ;
	
	public VAdapter(V3 v3) {
		super();
		this.v3 = v3;
	}

	@Override
	public void charge() {
		v3.charge();
	}
}
public class Phone {
	public Phone() {
		super();
	}

	//手机的充电方法,能直接获取的只有220v的电,但我们肯定不能把手机直接接到220V电压的电线上
	public void getE(Charge220 c) {       
		c.charge();
	}

	public static void main(String[] args) {
		Phone p = new Phone();
		VAdapter adapter = new VAdapter(new V3());
		p.getE(adapter);      //通过适配器给手机充电
	}

}

运行程序:输出  charging with 3V

只是为了更好的理解适配器模式,所以以充电器充电为例写了个示例代码。

比喻可能有些不合理之处。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值