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

2019-07-14 03:15发布

以手机充电的场景为例,写了个适配器的代码。 接口: 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 只是为了更好的理解适配器模式,所以以充电器充电为例写了个示例代码。 比喻可能有些不合理之处。