简单工厂模式:专门定义一个类用来创建其它类的实例,被创建的实例通常都具有共同的父类。 这里我们相当于是创建生产电脑的工厂,客户需要购买什么样的电脑,只要输入类型编号就可以获取该电脑。将类的实例化交给工厂,易于解耦。
类图:
import java.util.Scanner;
interface Computer{
public void printComputer();
}
class MacbookProComputer implements Computer{
public void printComputer(){
System.out.println("this is a mac");
}
}
class SurfaceBookComputer implements Computer{
public void printComputer(){
System.out.println("this is a Surface");
}
}
class ComputerFactory{
public static Computer getInstance(String type) {
Computer computer = null;
if (type.equals("macbook")) {
computer = new MacbookProComputer();
}else if (type.equals("surface")) {
computer = new SurfaceBookComputer();
}
return computer;
}
}
class Client{
public void buycomputer(Computer computer){
computer.printComputer();
}
}
public class mytest{
public static void main(String[]args){
System.out.println("请输入你想要的电脑型号:");
Scanner scanner=new Scanner(System.in);
String type=scanner.nextLine();
Computer computer=ComputerFactory.getInstance(type);
Client c=new Client();
c.buycomputer(computer);
}
}