/**
* @author damei
* @Time 2020/1/19 12:49
* @Description: 抽象工厂 createFactory 方法
*/
public abstract class ComputerFactory {
public abstract <T extends Computer>T createrFactory(Class<T> tClass);
}
/**
* @author damei
* @Time 2020/1/19 12:51
* @Description: concrete 工厂 无需修改工厂类直接创建产品即可
*/
public class ConcreteComputerFactory extends ComputerFactory{
@Override
public <T extends Computer> T createrFactory(Class<T> tClass) {
Computer computer = null;
String name = tClass.getName();
try {
computer = (Computer) Class.forName(name).newInstance();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return (T) computer;
}
}
//具体创建
DellComputer dellComputer = concreteComputerFactory.createrFactory(DellComputer.class);
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。