工厂设计模式

子类被接口实例化后,调用被子类覆写过的方法,但是存在一个问题:

主方法实际上相当于一个客户端,如果此时需要更换一个子类,则必须修改主方法。
 
JVM原理:所有的程序只认JVM,每个JVM会根据所在的操作系统不同自动进行设置。 即程序--JVM--操作系统。
所以我们可以类似地,在接口和具体子类间加入一个过渡端,通过此过渡端取得接口实例。一般这个过渡端为工厂类。
 
class Factory{
        public static Fruit getInstance(String className){
              Fruit f = null;
               if("apple" .equals(className)){
                     f = new Apple();
              }
               return f;
       }
};
public class FactoryDemo {
        public static void main(String[] args){
              Fruit f = null;
              f = Factory. getInstance("apple");
              f.eat();
       }
}

  

posted on 2016-03-01 14:42  Moriatry  阅读(117)  评论(0编辑  收藏  举报