学习目标:
雷锋依然在人间——工厂方法模式
学习内容:
提示:这里可以添加要学的内容 例如: 1、 搭建 Java 开发环境 2、 掌握 Java 基本语法 3、 掌握条件语句 4、 掌握循环语句
1、简单工厂的实现 1.1 以计算机为例,结构图 1.2 工厂类这样写
package org.xunfang.test;
public class Operation {
private double _numberA=0;
private double _numberB=0;
public double get_numberA() {
return _numberA;
}
public void set_numberA(double _numberA) {
this._numberA = _numberA;
}
public double get_numberB() {
return _numberB;
}
public void set_numberB(double _numberB) {
this._numberB = _numberB;
}
public double getResult() throws Exception {
double result = 0;
return result;
}
}
package org.xunfang.test;
public class OperationAdd extends Operation {
@Override
public double getResult() {
double result = 0;
result = this.get_numberA()+this.get_numberB();
return result;
}
}
package org.xunfang.test;
public class OperationSub extends Operation {
@Override
public double getResult() {
double result = 0;
result = this.get_numberA() - this.get_numberB();
return result;
}
}
package org.xunfang.test;
public class OperationMul extends Operation {
@Override
public double getResult() {
double result = 0;
result = this.get_numberA()* this.get_numberB();
return result;
}
}
package org.xunfang.test;
public class OperationDiv extends Operation {
@Override
public double getResult() throws Exception {
double result = 0;
if (this.get_numberB() == 0) {
throw new Exception("除数不能为0");
}
result = this.get_numberA() / this.get_numberB();
return result;
}
}
package org.xunfang.test;
public class OperationFactory {
public static Operation createOperate(String operate){
Operation oper = null;
switch (operate){
case "+":
oper=new OperationAdd();
break;
case "-":
oper=new OperationSub();
break;
case "*":
oper=new OperationMul();
break;
case "/":
oper=new OperationDiv();
break;
}
return oper;
}
}
package org.xunfang.test;
public class Send {
public static void main(String[] args) throws Exception {
Operation operation;
operation = OperationFactory.createOperate("+");
operation.set_numberA(1);
operation.set_numberB(2);
double result = operation.getResult();
}
}
2、工厂模式实现 2.1
在这里插入代码片
在这里插入代码片
在这里插入代码片
学习时间:
提示:这里可以添加计划学习的时间 例如: 1、 周一至周五晚上 7 点—晚上9点 2、 周六上午 9 点-上午 11 点 3、 周日下午 3 点-下午 6 点
学习产出:
提示:这里统计学习计划的总量 例如: 1、 技术笔记 2 遍 2、CSDN 技术博客 3 篇 3、 学习的 vlog 视频 1 个
|