资源预览内容
第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
亲,该文档总共3页全部预览完了,如果喜欢就下载吧!
资源描述
JAVA 设计模式-简单工厂模式/*简单工厂模式 Java 代码有点通过创建一个工厂类,来集中创建个各实例,增加了代码的扩展性*/抽象的运算类import java.util.Scanner;abstract class Operateprivate double numberA;private double numberB;public void setNumberA(double numberA)this.numberA=numberA;public double getNumberA()return numberA;public void setNumberB(double numberB)this.numberB=numberB;public double getNumberB()return numberB;/抽象方法abstract public double getResult();/加法类class Add extends Operate/覆写父类的抽象方法public double getResult()double result=0;result=getNumberA()+getNumberB();return result;/减法类class Sub extends Operate/覆写父类的抽象方法public double getResult()double result=0;result=getNumberA()-getNumberB();return result;/乘法类class Mul extends Operate/覆写父类的抽象方法public double getResult()double result=0;result=getNumberA()*getNumberB();return result;/除法类class Chu extends Operate/覆写父类的抽象方法public double getResult()double result=0;result=getNumberA()/getNumberB();return result;/工厂类class Factorypublic static Operate oper=null;public static Operate createoperate(int sign)switch(sign)case 1:oper=new Add(); break;case 2:oper=new Sub();break;case 3:oper=new Mul();break;case 4:oper=new Chu();break;return oper;class Demo1public static void main(String args) Operate oper;Scanner sc=new Scanner(System.in);System.out.println(*);System.out.println(* 可以进行的运算类型: *);System.out.println(* 1.加 法 运 算 *);System.out.println(* 2.减 法 运 算 *);System.out.println(* 3.乘 法 运 算 *);System.out.println(* 4.除 法 运 算 *);System.out.println(*);System.out.println(请输入你要进行的运算类型: );int str=sc.nextInt();oper=Factory. createoperate(str);System.out.println(请输入要进行参与运算两个数据: );double a=sc.nextDouble();double b=sc.nextDouble();oper. setNumberA(a);oper. setNumberB(b);double r=oper.getResult();System.out.println(结果 r=+r);
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号