码迷,mamicode.com
首页 > 其他好文 > 详细

23种设计模式之工厂方法模式

时间:2017-08-10 15:10:47      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:cto   actor   ati   string   产品   ima   技术   sys   err   

工厂方法模式(Factory Method):定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。

技术分享

技术分享

package designMode.factoryMethod;

interface IProduct {
    
    void function1();
    
    void function2();
    
    void function3();
}
package designMode.factoryMethod;

class Product1 implements IProduct{

    @Override
    public void function1() {
        System.out.println("我能实现功能1!");
    }

    @Override
    public void function2() {
        System.out.println("我能实现功能2!");        
    }

    @Override
    public void function3() {
        System.out.println("我能实现功能3!");        
    }

}
class Product2 implements IProduct{
    
    @Override
    public void function1() {
        System.out.println("我也能实现功能1!");
    }
    
    @Override
    public void function2() {
        System.out.println("我也能实现功能2!");        
    }
    
    @Override
    public void function3() {
        System.out.println("我也能实现功能3!");        
    }
    
}
package designMode.factoryMethod;

interface IFactory {
    
    IProduct produce();
    
}
package designMode.factoryMethod;

class Factory1 implements IFactory{

    @Override
    public IProduct produce() {
        return new Product1();
    }

}
class Factory2 implements IFactory{

    @Override
    public IProduct produce() {
        return new Product1();
    }
    
    
    
}
package designMode.factoryMethod;

class Test {
    public static void main(String[] args) {
        //创建产品1工厂
        IFactory f1 = new Factory1();
//        IFactory f2 = new Factory2();
        IProduct p1 = f1.produce();
        
        p1.function1();
        p1.function2();
        p1.function3();
    }
}

 

23种设计模式之工厂方法模式

标签:cto   actor   ati   string   产品   ima   技术   sys   err   

原文地址:http://www.cnblogs.com/lxcmyf/p/7339323.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!