适配器模式

要点:
适配器持有—被适配对象的引用,实现外层接口USB

被适配的键盘

/**
 * ps/2端口键盘
 * */
public class Ps2Keyboard {

	public void request(){
		System.out.println("可以打字,但只能插在ps/2端口的机器上!");
	}
}

适配器:

/**
 * 适配器
 * */
public class Adapter implements USB{

	private Ps2Keyboard Ps2Keyboard;  //被适配类   ps/2端口键盘  对象适配
	
	public Adapter(Ps2Keyboard ps2Keyboard) {
		super();
		Ps2Keyboard = ps2Keyboard;
	}

	@Override
	public void getUsbInput() {
		Ps2Keyboard.request();
	}

}

笔记本上的USB接口

/**
 * USB接口
 * */
public interface USB {
	void getUsbInput();
}

笔记本只接受USB接口实现的实例

public class Computer {

	public void getKeyboard(USB usb){
		usb.getUsbInput();
	}
	
	public static void main(String[] args) {
		
		Computer com = new Computer();    //USB端口的笔记本
		
		Ps2Keyboard ps = new Ps2Keyboard();  //ps/2端口的键盘
		
		Adapter adapter = new Adapter(ps);    //键盘和USB端口笔记本的适配器
		
		com.getKeyboard(adapter);    //适配器是USB端口的实现类
		
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值