书上写的工厂方法用于产生同一类的对象,那干嘛不构造,要用这种方法?

解决方案 »

  1.   

    昨天刚看,谈谈理解.
    工厂方法,就像名字一样,可以由工厂根据需要生产出不同的产品.
    一个简单的例子就是:
    private oneInterface getInstance(int type) {   if (1 == type) {
           return new firstInstance;
        }
       if (2 == type) {
           return new secondInstance;
        }
    ........}
    还有就是抽象工厂,它是返回一个抽象类的实例,多于动态转载一起使用.
    不太懂!
      

  2.   

    还是不太明白,楼上的用构造器不行么,难道工厂方法产生的类和构造器产生的类有什么不同?
      

  3.   

    又看了一便,又理解了一点
    假设一个汽车工厂是一个抽象类,里面有个生产的方法,但它不知道车胎是怎么生产的,车架势怎么生产的。车胎厂,车架厂分别继承了汽车工厂,也许你还不知道如何去生产车胎。
    这样,你可以将车胎厂,车架厂的实例给汽车工厂,调用汽车工厂的生产的方法,车胎厂就会生产车胎,车架厂就会生产车架,如果还不知道如何去生产车胎,没关系,不影响车架的生产,等你以后会生产车胎了,再补上去,不会影响整个车子的流程。可能理解有错误,望指教。