本文共 1542 字,大约阅读时间需要 5 分钟。
被适配者 service
public class Voltage { // 创建一个被适配者 这里就是 220v电压 private int v = 220;// 原本的电压就是220v public int getV220(){ //System.out.println(v); return v; }}
Client interface 就是将220V转成5V
public interface Voltage5 { int get5();}
Adapter
public class VoltageAdaptre extends Voltage implements Voltage5 { @Override public int get5() { // 这种形式是类适配器 但是 这种形式 两点缺点:一种就是 java中的类的单继承问题 // 2就是 被适配类中的方法需要暴露出来 为了解决上面的问题 使用的是对象适配模式 // 获取原有的电压 int v220 = getV220(); //进行适配 int src = v220 / 44; return src; }}
public class VoltageAdaptre2 implements Voltage5 { private Voltage voltage; // 对象适配器模式推荐使用 public VoltageAdaptre2(Voltage voltage){ this.voltage = voltage; } @Override public int get5() { int v220 = voltage.getV220(); //进行适配 int src = v220 / 44; return src; }}
Client 就是Phone
public class Phone { // 进行充电:使用的方法: public int charging(Voltage5 voltage){ //System.out.println(voltage.get5()); return voltage.get5(); } public static void main(String[] args) { Phone phone = new Phone(); int charging = phone.charging(new VoltageAdaptre()); System.out.println(charging); }}
转载地址:http://kbxrn.baihongyu.com/