/*创建一个电脑的抽象产品类,他有一个抽象方法用于启动电脑:*/
public abstract class Computer {
//产品的抽象方法,由具体的产品类去实现
public abstract void start();
}
/*创建联想品牌的电脑,继承了他的父类Computer ,
并实现了父类的start方法:*/
public class LenovoComputer extends Computer{
public void start() {
System.out.println("联想电脑启动");
}
/*创建惠普品牌的电脑,继承了他的父类Computer ,
并实现了父类的start方法:*/
public class HpComputer extends Computer{
public void start() {
System.out.println("惠普电脑启动");
}
}
/*创建一个工厂类,它提供了一个静态方法createComputer用来生产电脑。
你只需要传入你想生产的电脑的品牌,它就会实例化相应品牌的电脑对象:*/
public class ComputerFactory {
public static Computer createComputer(String type){
Computer mComputer=null;
switch (type) {
case "lenovo":
mComputer=new LenovoComputer();
break;
case "hp":
mComputer=new HpComputer();
break;
}
return mComputer;
}
}
/*客户端调用工厂类,传入“hp”生产出惠普电脑,
并调用该电脑对象的start方法*/
public class CreatComputer {
public static void main(String[]args){
ComputerFactory.createComputer("hp").start();
}
}