扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
前面讲解完了设计模式中的创建性模式,本文开始讲解设计模式中的结构性模式之一:适配器模式。
创新互联企业建站,十多年网站建设经验,专注于网站建设技术,精于网页设计,有多年建站和网站代运营经验,设计师为客户打造网络企业风格,提供周到的建站售前咨询和贴心的售后服务。对于成都网站建设、成都网站设计中不同领域进行深入了解和探索,创新互联在网站建设中充分了解客户行业的需求,以灵动的思维在网页中充分展现,通过对客户行业精准市场调研,为客户提供的解决方案。一、适配器模式的是干什么的?A类想要使用B类中的某些方法,但是不能直接使用,需要一个中间类对B类进行处理后,A类才能使用,这个中间类就是适配器,这种模式就是适配器模式。示意图如下。
既A类和B类之间夹了一个适配器类,适配器将B类传入的数据src进行处理,然后输出为A类需要使用的dst传给A类。
按照适配器如何接收B类的方式,将适配器模式分为三种模式,如果适配器类通过继承B类获得B类行为,则称为类适配器模式;如果直接将B类对象聚合到适配器类中,称为对象适配器模式;如果以接口的形式给到适配器类,则称之为接口适配器。
二、适配器模式案例如我们有一个Voltage220v类只能输出220v的电压,但是现在我们要给手机充电,只能使用5V的电压,那么此时就需要一个适配器类VoltageAdapter首先将220v的电压转为5v,然后再给手机使用。三种适配器模式的实现如下:
1. 类适配器模式实现public class Voltage220v {public int output200v()
{return 220;
}
}
public interface IVoltage5v {public int output5v();
}
public class VoltageAdapter extends Voltage220v implements IVoltage5v{@Override
public int output5v() {int src = output200v();
int dis = src / 44;
return dis;
}
}
public class Phone {public void charging(IVoltage5v iVoltage5v)
{if (iVoltage5v.output5v() == 5)
{System.out.printf("可以充电");
}
else
{System.out.printf("不能充电");
}
}
}
public class client {public static void main(String[] args) {Phone phone = new Phone();
IVoltage5v iVoltage5v = new VoltageAdapter();
phone.charging(iVoltage5v);
}
}
2. 对象适配器模式实现接口适配器核心思想是通过一个抽象类继承接口,并对所有的接口方法做默认空实现,那么该抽象类的子类就可以有选择的覆盖父类中的某些方法,而不必覆盖全部方法。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流