当前位置:首页 > 编程笔记 > 正文
已解决

工厂模式(初学)

来自网友在路上 152852提问 提问时间:2023-10-24 01:16:01阅读次数: 52

最佳答案 问答题库528位专家为你答疑解惑

工厂模式

1、简单工厂模式

  • 是一种创建型设计模式,旨在通过一个工厂类(简单工厂)来封装对象的实例化过程

运算类

  • public class Operation {   //这个是父类private double num1;  //运算器中的两个值private double num2;public double getNum1() {return num1;}public void setNum1(double num1) {this.num1 = num1;}public double getNum2() {return num2;}public void setNum2(double num2) {this.num2 = num2;}public double getResult() {  //用于子类获取结果double result = 0;return result;}
    }
    

加减乘类

  • public class OperationAdd extends Operation{  //加法@Overridepublic double getResult() {double result = 0;result = super.getNum1() + super.getNum2();  //从父类获取值return result;}
    }
    
  • public class OperationSub extends Operation{ //减法@Overridepublic double getResult() { double result = 0;result = super.getNum1() - super.getNum2();  //从父类获取值return result;}  
    }
    
  • public class OperationMul extends Operation{//乘法@Overridepublic double getResult() {double result = 0;result = super.getNum1() * super.getNum2();  //从父类获取值return result;}  
    }
    

工厂类

  • public class OperationFactory {public static Operation createOperation(String operate) {    //这个是个工厂类Operation op = null;   //这个为null是因为要通过符号来确定子类对象switch (operate) {     //判断符号,实例合适的对象case "+":op = new OperationAdd();break;case "-":op = new OperationSub();break;case "*":op = new OperationMul();break;}return op;}
    }
    

Main

  • public class Main {public static void main(String[] args) {Operation op = new OperationAdd();op = OperationFactory.createOperation("*");   //只要输出合适的计算符号,工厂类就会实例出该有的对象op.setNum1(1);op.setNum2(2);double rusult = op.getResult();System.out.println(rusult);}
    }
    

2、工厂模式实现

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"工厂模式(初学)":http://eshow365.cn/6-22854-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!