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();
        }
    }
  • 相关阅读:
    windows 服务中托管asp.net core
    asp.net core自定义端口
    asp.net core 2.1 部署IIS(win10/win7)
    Centos7 安装Tomcat并运行程序
    centos7 安装java运行环境
    linux(centos7) 常用命令和快捷键 持续验证更新中...
    CentOS7 设置yum源
    dotnet core 入门命令
    二项式系数学习笔记
    [容斥原理][莫比乌斯反演] Codeforces 803F Coprime Subsequences
  • 原文地址:https://www.cnblogs.com/lxcmyf/p/7339323.html
Copyright © 2011-2022 走看看