• 简单工厂模式


    public class Main {
        public static void main(String[] args) {
            Factory factory = new Factory();
            Operation operation = factory.createOperate("+");
            operation.setNumberA(10);
            operation.setNumberB(5);
            System.out.println(operation.getResult());
        }
    }
    public class Factory{
        public Operation createOperate(String operate){
            switch (operate){
                case "+":
                    return new Add();
                case "-":
                    return new Sub();
            }
            return null;
        }
    }
    public abstract class Operation {
        public double getNumberA() {
            return numberA;
        }
    
        public void setNumberA(double numberA) {
            this.numberA = numberA;
        }
    
        public double getNumberB() {
            return numberB;
        }
    
        public void setNumberB(double numberB) {
            this.numberB = numberB;
        }
    
        private double numberA = 0;
        private double numberB = 0;
    
        public abstract double getResult();
    }
    
    class Add extends Operation {
    
        @Override
        public double getResult() {
            return getNumberA() + getNumberB();
        }
    }
    
    class Sub extends Operation {
    
        @Override
        public double getResult() {
            return getNumberA() - getNumberB();
        }
    }

    根据传入参数由工厂决定创建哪一个实例

  • 相关阅读:
    数据库
    用hosts管理IP和域名
    软件测试周期
    jdk安装、环境配置
    IntelliJ IDEA 下载、安装、破解及卸载
    Servlet线程
    servlet什么时候被实例化?【转】
    JSP转译成Servlet详细过程【转】
    电脑使用--快捷键等【转】
    api大全
  • 原文地址:https://www.cnblogs.com/benniaoxuefei/p/5537319.html
Copyright © 2020-2023  润新知