工厂设计模式usb案例模拟

本文介绍了如何使用Java实现USB设备的工厂模式,通过USBFactory类根据配置文件动态创建不同类型的USB设备,如鼠标、键盘和U盘。通过`com.qf.chap17_2.*`前缀的配置,实现了灵活的设备选择并调用其服务。
摘要由CSDN通过智能技术生成

先创建USB接口类

public interface Usb {
	void service();
}

创建实现USB接口的使用类

public class Mouse implements Usb{
	@Override
	public void service() {
		System.out.println("鼠标开始工作了.....");
	}
}
==============================================
public class KeyBoard implements Usb{
	@Override
	public void service() {
		System.out.println("键盘开始工作了...");
	}
}
================================================
public class Upan implements Usb{
	@Override
	public void service() {
		System.out.println("U盘开始工作了...");
	}
}
......

创建USB工厂生产类

public class UsbFactory {
	public static Usb createUsb(String type) {//类型的全名称 com.qf.
		Usb usb=null;
		Class<?> class1=null;
		try {
			class1 = Class.forName(type);
			usb=(Usb)class1.newInstance();
		} catch (Exception e) {
			System.out.println(e.getMessage());
		}
		return usb;
	}
}

创建usb.properties配置文件

1=com.qf.chap17_2.Mouse
2=com.qf.chap17_2.Fan
3=com.qf.chap17_2.Upan
4=com.qf.chap17_2.KeyBoard
5=com.qf.chap17_2.Mouse2

最后测试

public class Demo {
	public static void main(String[] args) throws Exception{
		System.out.println("=========请选择 1 鼠标  2风扇 3 u盘===========");
		Scanner input=new Scanner(System.in);
		String choice=input.next();
		//1 = com.qf.chap17_2.Mouse
		//2 = com.qf.chap17_2.Fan
		//3 = com.qf.chap17_2.Upan
		//4 = com.qf.chap17_2.KeyBoard
		Properties properties=new Properties();
		FileInputStream fis=new FileInputStream("src\\usb.properties");
		properties.load(fis);
		fis.close();
		Usb usb=UsbFactory.createUsb(properties.getProperty(choice));
		if(usb!=null) {
			System.out.println("购买成功");
			usb.service();
		}else {
			System.out.println("购买失败,您要购买的产品不存在");
		}
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值