水立方建设集团有限公司网站,wordpress 主题面板,有人用wordpress默认主题,网站开发实训心得8001、简介
适配器模式是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式#xff0c;它结合了两个独立接口的功能。
这种模式涉及到一个单一的类#xff0c;该类负责加入独立的或不兼容的接口功能。
2、适配器模式分类 目标接口#xff08;Target#x…1、简介
适配器模式是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式它结合了两个独立接口的功能。
这种模式涉及到一个单一的类该类负责加入独立的或不兼容的接口功能。
2、适配器模式分类 目标接口Target客户所期待的接口。目标可以是具体的或抽象的类也可以是接口。 需要适配的类Adaptee需要适配的类或适配者类。 适配器Adapter通过包装一个需要适配的对象把原接口转换成目标接口。
3、代码展现-类适配器(通过继承方式实现)
场景我电脑需要上网但是只有网线不行得但是需要usb插口才可以上网
网线类能够实现上网但是没有接口适配器
/*** Author charles.yao* Description 网线能够上网-需要转化成usb* Date 2023/3/7 19:36*/
public class NetWorkLine {/*** 能够上网*/public void requestNet() {System.out.println(我是网线能够上网);}
}转换接口适配器
/*** 网线转换成usb*/
public interface INetWorkToUsb {/*** 将网线转换成usb*/void convertToRequestNet();
}/*** Author charles.yao* Description 网络适配器()* Date 2023/3/7 19:40*/
public class NetAdapter extends NetWorkLine implements INetWorkToUsb{Overridepublic void convertToRequestNet() {//TODO 业务处理在进行转化super.requestNet();}
}
电脑通过适配器才能上网
/*** Author charles.yao* Description 电脑上网* Date 2023/3/7 19:44*/
public class ComputerOnLine {/*** 电脑上网-插入适配器进行转换才能上网* param adapter*/public void online(INetWorkToUsb adapter){adapter.convertToRequestNet();}
}
测试类 /*** Author charles.yao* Description 适配器测试类* Date 2023/3/7 19:45*/
public class AdapterTest {public static void main(String[] args) {ComputerOnLine computerOnLine new ComputerOnLine();INetWorkToUsb netAdapter new NetAdapter();computerOnLine.online(netAdapter);}
}
4、通过类适配器方式实现
/*** Author charles.yao* Description 对象适配器-取消继承方式使用构造方式一样可以* Date 2023/3/7 19:52*/public class NetAdapter1 implements INetWorkToUsb{private NetWorkLine netWorkLine;public NetAdapter1(NetWorkLine netWorkLine) {this.netWorkLine netWorkLine;}Overridepublic void convertToRequestNet() {netWorkLine.requestNet();}}
测试类
/*** Author charles.yao* Description 适配器测试类* Date 2023/3/7 19:45*/
public class AdapterTest2 {public static void main(String[] args) {ComputerOnLine computerOnLine new ComputerOnLine();INetWorkToUsb netAdapter new NetAdapter1(new NetWorkLine());computerOnLine.online(netAdapter);}
}