1.在最前面先提一下简单工厂模式
就是通过反射机制,使用if条件语句判断Class.getName(“if_name”) 动态返回对象实例的方法
之后会写一下
对象的实例化同一在Factory中实现,同时讲Factory里的方法都是静态的,所以称为静态工厂模式,
用到Java的知识:向上转型,接口
缺点是如果要对实例的类做改变,需要改变工厂类,所以引申出了抽象工厂模式。
package text;
//静态工厂模式
public class Text{
public static void main(String[] args) {
school a = Factory.makeStudent();
a.sad();
school b = Factory.makeTeacher();
b.sad();
}
}
interface school {
abstract void sad();
}
class student implements school {
public void sad() {
System.out.println("student");
}
}
class teacher implements school {
public void sad() {
System.out.println("teacher");
}
}
class Factory {
public static school makeStudent() {
return new student();
}
public static school makeTeacher() {
return new teacher();
}
}