引出工厂模式
package www.java.test;
interface Computer{
void printComputer();
}
class MacbookPro implements Computer{
@Override
public void printComputer() {
System.out.println("This is a MacbookPro");
}
}
class SurfaceBook implements Computer{
@Override
public void printComputer() {
System.out.println("This is a Surfacebook");
}
}
public class Test{
//客户端
public static void main(String[] args) {
Computer computer = new MacbookPro();//子类为接口进行实例化处理
computer.printComputer();
}
}
如果我想买另外一款电脑,我就需要改变客户端的代码了,这就很麻烦了,所以我们就要想办法将实例化具体类的代码从客户端抽离(解耦到第三方),这时就需要用到工厂模式了。
简单工厂模式:用于没有产品族并且产品数量较少
专门定义一个类(第三方)用来创建其他类实例(解耦,将客户端创建对象的操作解耦到外部第三方类),被创建的实例通常都具有共同的父类。
package www.java.test;
import java.util.Scanner;
interface Computer{
vo