文章标题
来源:互联网 发布:linux删除非空文件夹 编辑:程序博客网 时间:2024/06/08 19:38
最近在看大话设计模式,就尝试用Java来实现其中的部分代码。
1.简单工厂模式(8-11页)
1).Operation类(只实现了加法和减法)
abstract class Operation {
private double numberA;
private double numberB;
public double getNumberA() { return numberA;}public double getNumberB() { return numberB;}public void setNumberA(double numberA) { this.numberA = numberA;}public void setNumberB(double numberB) { this.numberB = numberB;}public abstract double getResult();
}
class operationAdd extends Operation {
@Override
public double getResult() {
double result;
result = this.getNumberA() + this.getNumberB();
return result;
}
}
class operationSub extends Operation {
public double getResult() {
double result;
result = this.getNumberA() - this.getNumberB();
return result;
}
}
2.OperationFactory类
public class OperationFactory {
public static Operation createOperate(String operate) {
Operation oper = null;
switch (operate) {
case “+”:
oper = new operationAdd();
break;
case “-“:
oper = new operationSub();
break;
}
return oper;
}
}
3.Test类
public class test {
public static void main(String[] args) {
Operation operAdd = OperationFactory.createOperate(“+”);
operAdd.setNumberA(1);
operAdd.setNumberB(2);
System.out.println(operation.getResult());
}
}
工厂类的作用只是“出产品”,自己不需要实例化,所以将构造和析构声明为私有(这个只适用于“简单”工厂模式)。为了调用工厂类的方法,所以将其声明为static
- 文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题 文章标题 文章标题 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- linux
- 链表的合并
- 引用传递(传递对象的引用)
- MySQL查看和修改时区
- js判断手机浏览器并跳转到手机网站
- 文章标题
- 度度熊回家
- NYOJ 求平均成绩
- leetcode 10. Regular Expression Matching
- ubuntu vpn搭建
- 深入理解乐观锁与悲观锁
- Android中重绘刷新界面之invalidate、postInvalidate和requestlayout的区别
- oracle:日期
- 【亲测可用】CentOS6.4下Mysql数据库的安装与配置