简单工厂模式

本文创建一个简单计算器,应用简单工厂模式:程序功能,用户输入俩个数字和一个运算符(+-*/),输出答案.

  1. //创建基类
  2. Class Operation{
  3. double mnumberA,mnumberB,result=0;
  4. getmnumberA(){
  5. return mnumberA;
  6. }
  7. setmnumberA(double a){
  8. mnumberA=a;
  9. }
  10. getmunmberB(){
  11. return mnumberB;
  12. }
  13. setmnumberB(double b){
  14. mnmuberB=b;
  15. }
  16. getResult(){
  17. return result;
  18. }
  19. }
  20. //创建四个类,功能分别为进行四个运算,继承Operation类
  21. Class opadd{
  22. double getResult(double a,double b){
  23. return a+b;
  24. }
  25. }
  26. Class opdec{
  27. double getResult(double a,double b){
  28. return a-b;
  29. }
  30. }
  31. Class opmul{
  32. double getResult(double a,double b){
  33. return a*b;
  34. }
  35. }
  36. Class opdiv{
  37. double getResult(double a,double b){
  38. return a/b;
  39. }
  40. }
  41. //创建工厂类
  42. Class Factory{
  43. String result;
  44. getResult(double a,double b,String op){
  45. switch(op){
  46. case "+"
  47. result=opadd.getResult(a,b);
  48. break;
  49. case "-"
  50. result=opdec.getResult(a,b);
  51. break;
  52. case "*"
  53. result=opmul.getResult(a,b);
  54. break;
  55. case "/"
  56. result=opmul.getResult(a,b);
  57. break;
  58. }
  59. }
  60. return result;
  61. }
  62. //主函数
  63. Class Program{
  64. public static void main(string[] args){
  65. Scaner scaner=new Scaner(System.in);
  66. system.out.println("请输入数字a:");
  67. double a=scaner.nextdouble();
  68. system.out.println("请输入数字b:");
  69. double b=scaner.nextdouble();
  70. systme.out.println("请输入运算符");
  71. string c=scaner.next();
  72. double result=Factory.getResult(a,b,c);
  73. system.out.println(result);
  74. }
  75. }
注:本小白刚学习设计模式,难免会有一些错误,甚至本质性的错误,如有发现,还请交流
此代码为纯手工编写,所以格式应该会有一些错误,谨慎复制

转载于:https://www.cnblogs.com/xianglong0127/p/3866523.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值