• Java设计模式之工厂模式基础必学篇


    前言
    工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

    工厂模式场景:
    在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。
    传入参数为0,返回hello
    传入参数为1,返回World
    传入参数为2,返回java
    我们将创建一个 StrInterface 接口和实现 StrInterface 接口的实体类。下一步是定义工厂类 Factory。
    TestDemo测试类main方法中使用 Factory来获取 StrInterface 对象。它将向 Factory 传入参数(0 / 1/ 2),根据入参返回(hello / word / java)。

    Java代码实现

    //抽象接口类
    public interface StrInterface {    
        public String get();
    }
    ​
    ​
    ​
    //hello类
    public class Hello implements StrInterface{    
        //实现并重写父类的get()方法
        public String get() {
            return "hello";
        }
    }
    ​
    ​
    ​
    //World类
    public class World implements StrInterface{    
        //实现并重写父类的get()方法
        public String get() {
            return "world";
        }
    }
    ​
    ​
    //java类
    public class Java implements StrInterface{
        //实现并重写父类的get()方法
        public String get() {
            return "java";
        }
    }//工厂类
    public class Factory {
        
        public static StrInterface getStr(int param) {
            StrInterface str = null;
            if (0 == param) {
                str = new Hello();
            } else if (1 == param) {
                str = new World();
            } else if (2 == param) {
                str = new Java();
            }
            return str;
        }
    }public class TestDemo {
    	//main方法
    	public static void main(String[] args) {
    	    StrInterface hello = Factory.getStr(0);
    	    System.out.println(hello.get());
    	    StrInterface world= Factory.getStr(1);
    	    System.out.println(world.get());
    	    StrInterface java = Factory.getStr(2);
    	    System.out.println(java.get());
    	}
    }
    

    代码执行结果:
    hello
    world
    java

  • 相关阅读:
    webuploader 断点续传
    mysql 基本操作语句
    centos 安装apache 和 php5.6
    centos 安装 apache2.4
    centos 安装和配置 rabbitmq
    安装 webpack
    DevExpress v20.1汉化包
    DevExpress DisplayFormat格式化操作
    No cached version of com.android.tools.build:gradle:3.6.2 available for offlin 解决办法
    VUE 修复IOS手机URL问题
  • 原文地址:https://www.cnblogs.com/javakfz/p/13938232.html
Copyright © 2020-2023  润新知