当前位置: 首页 > news >正文

最牛视频网站建设网站不用模板如何更新文章

最牛视频网站建设,网站不用模板如何更新文章,opensuse wordpress,大连手机网站开发1 概述 将创造对象的工作交给一个单独的类来实现 #xff0c;这个单独的类就是工厂。 2 实现 假设要做一个计算器的需求#xff0c;通常我们想到的是这样写#xff1a; package com.example.easyfactory;import java.util.Scanner;public class Demo1 {public static vo…1 概述 将创造对象的工作交给一个单独的类来实现 这个单独的类就是工厂。 2 实现 假设要做一个计算器的需求通常我们想到的是这样写 package com.example.easyfactory;import java.util.Scanner;public class Demo1 {public static void main(String[] args) {try {Scanner sc new Scanner(System.in);System.out.println(请输入数字A);double numberA Double.parseDouble(sc.nextLine());System.out.println(请输入运算符、-、*、/);String strOperate sc.nextLine();System.out.println(请输入数字B);double numberB Double.parseDouble(sc.nextLine());double result 0d;switch (strOperate) {case :result numberA numberB;break;case -:result numberA - numberB;break;case *:result numberA * numberB;break;case /:result numberA / numberB;break;}System.out.println(结果是 result);}catch (Exception e) {System.out.println(输入有错);}} }但这段代码的问题在于其一显示和业务逻辑没有分离其二是没有使用面向对象的编程思想可扩展性和可重用性都很差。 可以考虑使用简单工厂模式将各个计算逻辑进行分离成为单独的类在工厂类中根据传入的参数构造不同预算符对象。 运算符抽象类 public abstract class Operation {public double getResult(double numberA, double numberB) {return 0d;} }接下来是四个具体的运算符类 public class Add extends Operation{Overridepublic double getResult(double numberA, double numberB) {return numberA numberB;} }public class Sub extends Operation{Overridepublic double getResult(double numberA, double numberB) {return numberA - numberB;} }public class Mul extends Operation{Overridepublic double getResult(double numberA, double numberB) {return numberA * numberB;} }public class Div extends Operation {Overridepublic double getResult(double numberA, double numberB) {if (numberB 0) {System.out.println(除数不能为0);throw new ArithmeticException();}return numberA / numberB;} }工厂类 public class OperationFactory {public static Operation createOperation(String operate) {Operation oper null;switch (operate) {case :oper new Add();break;case -:oper new Sub();break;case *:oper new Mul();break;case /:oper new Div();break;}return oper;} }测试类 public class Test {public static void main(String[] args) {Scanner sc new Scanner(System.in);System.out.println(请输入数字A);double numberA Double.parseDouble(sc.nextLine());System.out.println(请输入运算符、-、*、/);String strOperate sc.nextLine();System.out.println(请输入数字B);double numberB Double.parseDouble(sc.nextLine());double result 0d;Operation oper OperationFactory.createOperation(strOperate);result oper.getResult(numberA, numberB);System.out.println(结果为 result);} }根据传入的参数的不同来从工厂类中获取具体的运算符类对象并调用运算方法。 3 总结 简单工厂模式就是通过一个抽象类抽象出一个抽象类和一个公共操作方法。具体的操作类来继承抽象类并重写该方法。工厂中根据传入参数的不同来构造具体的操作类对象并赋值给其父类即抽象类实际运行时由于多态特性会运行具体操作类中被重写的方法。
http://www.dnsts.com.cn/news/84777.html

相关文章:

  • 哪里能找到免费网站seo发外链工具
  • 网站建设的工具炫酷个人网站php源码
  • 网站建设 手机和pc梁山做网站价格
  • 中国十大发布信息网站排名那些钓鱼网站是怎么做的
  • 益阳网站开发公司flash国外网站
  • 搜索引擎网站推广可以自己做吗网站建设花费
  • 营销网站定位怎样注册网络平台
  • 南海网站建设多少钱网络营销包括哪些策略
  • 辽宁省建设厅特种工查询网站天天ae模板网
  • 个人怎么做微信公众号和微网站厦门seo优化多少钱
  • 如何评价一个企业网站做的好wordpress 微软雅黑字体
  • 如何跳过网站会员网站建设好后为什么要维护
  • 合肥怎么做网站做的网站怎么查看点击率
  • 微网站模板建设宇舶手表网站
  • 织梦网站模板如何安装教程邮轮哪个网站是可以做特价胃肠的
  • 门头沟青岛网站建设网址域名查询官网
  • idea制作网站免费个人主页注册
  • 南联网站建设公司最近10条重大新闻
  • 百度站长平台安卓版青岛百度网站排名
  • 商标购买网站黑山网站建设
  • 金华网站建设luopan百度收录api怎么提交
  • 西南交通建设集团有限公司网站织梦dedecms5.6 网站搬家详细教程
  • 网站备案号被注销什么原因电脑做网站服务器教程
  • 网站建设大型快站app制作教程
  • dw怎么做别人可以看的网站无锡建设建设局网站
  • 电脑公司网站源码php庐江有做网站的吗
  • 衡水做wap网站费用太仓住房城乡建设网站
  • php做网站搜索框现在做网站用什么程序
  • 北京公司网站制作哪家专业国内知名企业网站
  • 天长做网站wordpress 亲子博客