思想:
传入参数,自动取得想要的实例
实现:
工厂 —— 生产实例用的
抽象 —— 父类(描述功能)
具体 —— 子类(实现功能)
public class 工厂{
public static 抽象父类 生产实例(int mode){
switch (mode){
case 1:
return new 具体子类1();
case 2:
return new 具体子类2();
}
}
}
public interface 抽象父类{
public void 说();
}
public class 具体子类1 implements 抽象父类{
public void 说(){
System.out.println("我是子类1");
}
}
public class 具体子类2 implements 抽象父类{
public void 说(){
System.out.println("我是子类2");
}
}
public static main(String[] args){
抽象父类 子类1 = 工厂.生产实例(1);
子类1.说();
抽象父类 子类2 = 工厂.生产实例(2);
子类2.说();
}
优点:
用起来方便
缺点:
修改麻烦