使用简单工厂模式开发一个包含加减乘除功能的计算器。

思路如下:

1、构造一个计算器抽象类;属性:含有两个参与计算的数字;方法:获取返回计算结果。

2、创建加法、减法、乘法、除法功能子类,继承计算器,在子类中实现父类方法,在方法中计算后并返回计算结果。

3、写一个测试类里面包含如下:(1)获取运算符,根据运算符确定需要生成的计算器类型。(2)获取运算数字,使用Scanner在键盘获取运算参数。(4)根据获取到的键盘输入结果给计算器参与运算的参数赋值。(5)输出计算结果并打印。

很简单的一个小程序,大家一起来康康源代码吧~

计算器抽象类:

public abstract class Calcuator {private Double a;private Double b;public Double getA() {return a;}public void setA(Double a) {this.a = a;}public Double getB() {return b;}public void setB(Double b) {this.b = b;}public abstract double getResult();
}

加法子类:

public class Add extends Calcuator{@Overridepublic double getResult() {return getA()+getB();}
}

减法子类:

public class Sub extends Calcuator{@Overridepublic double getResult() {return getA()-getB();}
}

乘法子类:

public class Mul extends Calcuator {@Overridepublic double getResult() {return getA()*getB();}
}

除法子类:

public class Div extends Calcuator{@Overridepublic double getResult() {return getA()/getB();}
}

计算器测试主函数:

public class CalcuatorDemo {public static void main(String[] args) {System.out.println("请选择运算符:1、加法,2、减法,3、乘法,4、除法;");Scanner scanner = new Scanner(System.in);int operator=scanner.nextInt();System.out.println("请输入第一个数字");Double a= scanner.nextDouble();System.out.println("请输入第二个数字");Double b=scanner.nextDouble();Calcuator calcuator=null;switch (operator){case 1:calcuator=new Add();break;case 2:calcuator=new Sub();break;case 3:calcuator=new Mul();break;case 4:calcuator=new Div();break;}calcuator.setA(a);calcuator.setB(b);System.out.println("计算结果是:"+calcuator.getResult());}}

程序运行截图:

这个程序很简单,同时很具有代表性,大家感兴趣的可以写一写,感谢大家支持,河子也是正在学习Java的一名学生,欢迎大家一起交流,最近有时间我会继续更新~

Java:利用工厂模式设计加减乘除功能的计算器相关推荐

  1. (Java)设计模式——工厂模式

    设计模式(Java)--工厂模式 工厂模式的关键在于我们使用这个模式时的需求是使得使用者不关注创建目标对象的具体过程,而只关注对象如何通过简单的参数配置而获取需要的对象 下面通过工厂模式的种类循序渐进 ...

  2. Java设计模式-工厂模式(1)简单工厂模式

    Java设计模式-工厂模式(1)简单工厂模式 一.前言 1)例子 2)类图关系 3)代码实现 二.简单工厂模式 2.1.概述: 2.2.类图关系: 2.3.代码修改: 2.4.优缺点 2.5.扩展-简 ...

  3. Spring4.x(3)---工厂模式设计IOC容器

    工厂模式设计IOC容器 IOC容器的底层实现其实就是利用工厂设计模式.接下来我们通过工厂设计模式模拟一个小型的IOC容器,让大家对IOC的底层原理更加清晰些. 一.搭建案例程序 1)CustomerD ...

  4. Java设计模式-工厂模式(3)抽象工厂模式

    在Java设计模式-工厂模式(2)工厂方法模式 我们知道了工厂方法模式解决了简单工厂模式中的缺陷,做到了满足开闭原则,但是时代是进步的,进而又产生新的问题,工厂难道只能生产一种东西吗.我们所见到的工厂 ...

  5. 什么是工厂模式java?工厂模式java优点有哪些?

    工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一.这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式. 什么是工厂模式java? 在工厂模式中,我们在创建对 ...

  6. java简单工厂模式_Java 简单工厂模式

    Java 简单工厂模式 2014-05-28·WeaponX 3717 次浏览 ## 介绍 简单工厂模式又称静态工厂模式. 简单工厂模式由工厂类角色.抽象产品角色和具体产品角色组成. 工厂类角色是本模 ...

  7. Java设计模式-工厂模式(2)工厂方法模式

    在Java设计模式-工厂模式(1)简单工厂模式 中我们介绍了简单工厂模式,提到了简单工厂模式违背了开闭原则,而"工厂方法模式"是对简单工厂模式的进一步抽象化,其好处是可以使系统在不 ...

  8. 利用工厂模式实现怪物系统

    利用工厂模式可以有效的降低类与类的藕合性,增强代码的可重用性,工厂模式主要通过虚函数的原理进行. 当基类指针指向一个子类对象,通过这个指针调用子类和基类同名成员函数的时候,基类声明为虚函数「子类不写也 ...

  9. JavaScript学习(四十二)—利用工厂模式创建对象以及工厂模式创建对象的不足

    JavaScript学习(四十二)-利用工厂模式创建对象以及工厂模式创建对象的不足 一.利用工厂模式创建对象 工厂模式是JavaScript中的一种设计模式,它的作用是批量创建具有同种属性的对象. 格 ...

最新文章

  1. mail 发送email
  2. Linux下Nagios的安装与配置
  3. Spring Boot 进行优雅的字段校验,写得太好了!
  4. 今天浏览新闻的时候,发现一张图片特别有感触
  5. vue项目中使用echarts实现词云
  6. linux 程序 加密码忘了怎么办,linux忘记了密码怎么办
  7. Jquery ValidateEngine表单验证
  8. leetcode-260.只出现一次的数字 III 解法
  9. MacVim配置目录树
  10. 苹果的Swift 2.0,Raspberry Pi Zero vs CHIP以及更多新闻
  11. 学习笔记之进程管理的相关重要命令
  12. blender快捷键
  13. 【毕业季】致毕业生的一句话:天高任鸟飞,海阔凭鱼跃
  14. 计算机表格填充,Excel表格的自动填充功能
  15. 较为安全快捷的更改C盘用户文件夹名称的方式!(2022.8.22)windows10和11均可用
  16. [从头读历史] 第244节 三皇与五帝
  17. 程序员的三大优良品质:偷懒,没有耐性和骄傲自大。
  18. 巨型机是一种什么的超级计算机,把计算机分为巨型机、大中型机按照什么分的...
  19. CAD梦想画图中的“绘图工具——圆”
  20. chrome始终显示版本过旧,无法自动更新,官网在线升级包失败的解决办法

热门文章

  1. 2022张宇考研基础30讲 第十二讲 二重积分
  2. javaScript系列 [02]-javaScript对象探析
  3. 开发者说论文|人工智能为设备磨损“把脉”:依托飞桨开展的铁谱图像智能故障诊断研究...
  4. 倒计时时间可以任意设置的秒表
  5. Ubuntu上安装tinyproxy搭建HTTP代理服务器
  6. STC89C52RC单片机实现闪烁灯的几种编程实现。
  7. uni-app腾讯地图位置选点
  8. [golang]通过github下载golang官方工具包
  9. PF_RING调研及实践
  10. 基于C语言实现的网络嗅探器设计课程设计