分享

计数器3-继承与多态(简单工厂模式)

 樱花梦_张艺馨 2016-10-20
/*
将各个方法,写成一个单独的类,进行解耦管理。
*/
 zx包下编写加减乘除方法
=======================实体类 Operation==============
package zx;
public class Operation
{
 private double numberA;
 private double numberB;
 
 public double getNumberA() {
  return numberA;
 }
 public void setNumberA(double numberA) {
  this.numberA = numberA;
 }
 public double getNumberB() {
  return numberB;
 }
 public void setNumberB(double numberB) {
  this.numberB = numberB;
 }
 //方法
 public double getResult(){
   double result =0;
  return result;
 }
}
====================加法类 OperationAdd==================
package zx;
public class OperationAdd extends Operation {
  public double getResult(){
    double result =0; 
   result = this.getNumberA() + this.getNumberB(); 
   return result;
  }
}
================减法类 OperationSub=============
package zx;
public class OperationSub extends Operation{
  public double getResult(){
    double result =0; 
   result = this.getNumberA() - this.getNumberB(); 
   return result;
  }
}
=================乘法类 OperationMul ==========
package zx;
public class OperationMul extends Operation{
  public double getResult(){
    double result =0; 
   result = this.getNumberA() * this.getNumberB(); 
   return result;
  }
}
================除法类 OperationDiv =========
package zx;
public class OperationDiv extends Operation{
 
 public double getResult(){
   double result =0;
  if(this.getNumberB()!=0){
  result = this.getNumberA() / this.getNumberB();
  }else{
   System.out.println("除数不能为0");
   
  }
  return result;
 }
}
 =======================测试类  Test===============
package zx;
import java.util.Scanner;
public class Test {
 public static void main(String[] args) {
  Operation  o = new Operation();
  Scanner sc = new Scanner(System.in);
  System.out.println("请输入一个数字");
  double numberA = sc.nextInt();
  System.out.println("请输入运算符号:+ - * /");
  String fuhao = sc.next();
  System.out.println("请再输入一个数字");
  double numberB = sc.nextInt();
  double sum =0;
  if("+".equals(fuhao)){
   Operation oa = new OperationAdd();
   oa.setNumberA(numberA);
   oa.setNumberB(numberB);
   sum = oa.getResult();
   System.out.println("结果是:"+sum);
  }else if("-".equals(fuhao)){
   Operation os = new OperationSub();
   os.setNumberA(numberA);
   os.setNumberB(numberB);
   sum  = os.getResult();
   System.out.println("结果是:"+sum);
  }else if("*".equals(fuhao)){
   Operation om = new OperationMul();
   om.setNumberA(numberA);
   om.setNumberB(numberB);
   sum  = om.getResult();
   System.out.println("结果是:"+sum);
  }else if("/".equals(fuhao)){
   Operation od = new OperationDiv();
   od.setNumberA(numberA);
   od.setNumberB(numberB);
   sum  = od.getResult();
   System.out.println("结果是:"+sum);
  }
  
 }
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多