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


    工厂方法模式(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();
        }
    }
  • 相关阅读:
    hibernate>对象/关系数据库映射基础 小强斋
    Struts2>环境搭建及HelloWorld 小强斋
    hibernate>多对一关联映射 小强斋
    hibernate>多对一关联映射 小强斋
    hibernate>多对一关联映射 小强斋
    Struts2>运行机制 小强斋
    另外一篇操作excel的参考
    警惕引用,血的教训
    zoj1019
    linux c++连接mysql示例
  • 原文地址:https://www.cnblogs.com/lxcmyf/p/7339323.html
Copyright © 2020-2023  润新知