zoukankan      html  css  js  c++  java
  • 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();
        }
    }
  • 相关阅读:
    怎么判断一个bug到底是前端的bug还是后端的bug
    charles抓包原理
    java基础|Properties文件解析
    java基础|break、continue和return
    Java使用JSONPath解析JSON完整内容详解
    10/23/2019
    有什么好怕的
    [转]一个急刹车,过路老人吓得病发身亡 司机要担责吗?
    [转]7岁女孩练舞下腰致残,舞蹈培训机构被判赔115万
    Salesforce权限管理
  • 原文地址:https://www.cnblogs.com/lxcmyf/p/7339323.html
Copyright © 2011-2022 走看看