介绍
本篇文章为大家展示了如何在Java项目中使用适配器模式,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
<>强适配器一共包括3种角色强>
1, <强>目标强>:目标是一个接口,该接口是客户想使用的接口
2, <强>被适配者强>:被适配者是一个已存在的接口或抽象类,这个接口或抽象类需要适配
3 <强>适配器强>:适配器是一个类,该类实现了目标接口并包含有被适配者的引用,即适配者的指着是对被适配者接口与目标进行适配
包org.zhy.adapter;/* * *目标 * @author正意 * */公共接口ThreeElectricOutlet {//用来刻画三相插座 公共抽象空白connectElectricCurrent (); }
包org.zhy.adapter;/* * *适配器 * @author正意 * */公共类TreeElecricAdapter实现ThreeElectricOutlet { TwoElectricOutlet出口; 公共TreeElecricAdapter (TwoElectricOutlet teo) { this.outlet=teo; } @Override 公共空间connectElectricCurrent () { outlet.connectElectricCurrent (); } }
包org.zhy.adapter;/* * *被适配者 * @author正意 * */公共接口TwoElectricOutlet {//刻画两相插座 公共抽象空白connectElectricCurrent (); }
包org.zhy.adapter; 公共类立{ 公共静态void main (String [] args) { ThreeElectricOutlet出口;//目标接口三相插座 洗洗=new洗(); 出口=洗; System.out.println(“使用三相插座接通电流“); outlet.connectElectricCurrent (); 电视电视=新电视(); TreeElecricAdapter适配器=new TreeElecricAdapter(电视); 出口=适配器; System.out.println(“使用三相插座接通电流“); outlet.connectElectricCurrent (); } }
包org.zhy.adapter;/* * *洗衣机 * @author正意 * */公共类洗实现ThreeElectricOutlet { 私人字符串名称; 公共洗(){ name=跋匆禄? } 公共洗(字符串名称){ this.name=名称; } @Override 公共空间connectElectricCurrent () { 接通开启(); } 私人空间接通开启(){ System.out.println(名字+“开始洗衣服“); } }
包org.zhy.adapter;/* * *电视 * @author正意 * */公共类电视实现TwoElectricOutlet { 私人字符串名称; 公共电视(){ name=俺そ缡踊? } 公共电视(String s) { this.name=s; } @Override 公共空间connectElectricCurrent () { 接通开启(); } 私人空间接通开启(){ System.out.println(名字+“开始播放节目“); } }
1, <强>完全适配强>
如果目标接口中的方法数目与被适配者接口的方法数目相等那么适配器可将被适配者接口与目标接口进行完全适配
2, <强>不完全适配强>
如果目标接口中的方法数目少于被适配者接口的方法数目那么适配器只能将被适配者接口与目标接口进行适配
3 <强>剩余适配强>
如果目标接口中的方法数目大于被适配者接口的方法数目。那么适配器可将被适配者接口与目标接口进行完全适配,但必须将目标多余的方法给出用户允许默认实现
1,目标和适配者是完全解耦的关系
2,适配器模式满足“开-闭原则“当添加一个实现Adaptee接口的新类时,不必修改Adaptee,而Adaptee就能对这个新类的实例进行适配
上述内容就是如何在Java项目中使用适配器模式,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。