zoukankan      html  css  js  c++  java
  • java设计模式之---简单工厂模式

    1、简单工厂模式属于创建型模式,又叫做静态工厂方法。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。

    2、测试代码分类:

      (1)工厂角色:OperationFactory

      (2)抽象产品角色:Operation

      (3)具体产品角色:OperationAdd、OperationSub

    3、代码:

      运算类:

    public class Operation {

    private double numA = 0;
    private double numB = 0;

    public double getNumA() {
    return numA;
    }

    public void setNumA(double numA) {
    this.numA = numA;
    }

    public double getNumB() {
    return numB;
    }

    public void setNumB(double numB) {
    this.numB = numB;
    }

    public double getResult () {
    return 0;
    }

    }
      工厂类:
    public class OperationFactory {

    public static Operation createOperation (String operate) {
    Operation operation = null;
    switch (operate) {
    case "+":
    {
    operation = new OperationAdd();
    break;
    }
    case "-":
    {
    operation = new OperationSub();
    break;
    }
    }
    return operation;
    }
    }
      具体实现类--加法:
    public class OperationAdd extends Operation {

    @Override
    public double getResult() {
    return getNumA()+getNumB();
    }
    }
      具体实现类--减法:
    public class OperationSub extends Operation {

    @Override
    public double getResult() {
    return getNumA() - getNumB();
    }
    }
      测试入口:
    public class OperateTest {

    public static void main(String[] args) {
    Operation operation = OperationFactory.createOperation("+");
    operation.setNumA(2);
    operation.setNumB(3);
    System.out.println(operation.getResult());

    Operation operation1 = OperationFactory.createOperation("-");
    operation1.setNumA(3);
    operation1.setNumB(1);
    System.out.println(operation1.getResult());

    }

    }
      输出结果:

      5.0
      2.0

  • 相关阅读:
    request:getParameter和getAttribute区别
    JSP登录页面大小
    单例模式详情
    关于HTML的总结
    遍历HashMap的四种方法
    三层开发原则
    java日期
    oracle6
    tomcat
    Linux命令
  • 原文地址:https://www.cnblogs.com/tengri-fighting/p/12654223.html
Copyright © 2011-2022 走看看