设计模式学习笔记(三) 适配器模式

本文通过实例详细介绍了适配器模式的应用场景和技术实现,包括PS2鼠标与USB接口的适配,展示了如何通过适配器解决接口不兼容的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



 

    适配器模式,适配器,日常生活中有很多,电源适配器(三相电转两相电或两相电转三相电),鼠标适配器(PS/2转USB或USB转PS/2)等等。适配器,就是让设备,能在接口不一样的情况下正常工作。

    1.PS2类型鼠标,只有PS2接口

package dcr.study.dp.adapter;

public interface IPS2Mouse {
	void ps2();
}

    2.USB类型鼠标,只有USB接口

package dcr.study.dp.adapter;

public interface IUSBMouse {
	void usb();
}

   3.实现PS2鼠标

package dcr.study.dp.adapter;

public class PS2Mouse implements IPS2Mouse {

	@Override
	public void ps2() {
		System.out.println("PS2接口鼠标,使用电脑PS2接口");
	}
}

   4.实现USB鼠标

package dcr.study.dp.adapter;

public class USBMouse implements IUSBMouse {

	@Override
	public void usb() {
		System.out.println("USB接口鼠标,使用电脑的USB接口");
	}
}

   5.做个PS2转USB的适配器,同理也可以做一个USB转PS2的适配嚣,如果需要,还可以做个双向适配器。

package dcr.study.dp.adapter;

public class PS2TOUSBAdapter implements IUSBMouse {
	
	IPS2Mouse mouse ;
	
	public PS2TOUSBAdapter(IPS2Mouse ps2mouse){
		this.mouse = ps2mouse;
	}
	@Override
	public void usb() {
		mouse.ps2();
	}
}

   5 . 在只有USB接口的电脑上使用PS2鼠标。

package dcr.study.dp.adapter;

public class Application {
	public static void main(String[] args){
		//当前程序如果是一台只拥有USB的接口的电脑
		//现在我只有一个PS2的鼠标
		PS2Mouse ps2mouse = new PS2Mouse();
		//那么我使用一个PS2转USB的适配器
		IUSBMouse mouse = new PS2TOUSBAdapter(ps2mouse);
		//这样我就可以把PS2鼠标转成USB来使用了
		mouse.usb();
	}
}

对像适配器,可以使用组合,不仅可以适配某人类,也可以适配该类的子类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值