首页 > 编程 > C# > 正文

C#基于简单工厂模式实现的计算器功能示例

2020-01-24 00:26:14
字体:
来源:转载
供稿:网友

本文实例讲述了C#基于简单工厂模式实现的计算器功能。分享给大家供大家参考,具体如下:

子类拥有父类除私有之外的所有属性字段和方法

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 工厂方法实现计算器{  /// <summary>  /// 计算器类(抽象类,由子类重写)  /// </summary>  public abstract class Calculator  {    public double Number1 { get; set; }    public double Number2 { get; set; }    public Calculator() { }    public Calculator(double a, double b)    {      this.Number1=a;      this.Number2=b;    }    /// <summary>    /// 计算    /// </summary>    /// <returns></returns>    public abstract double jsuan();  }  /// <summary>  /// 加法类  /// </summary>  public class jiafaDll:Calculator //子类拥有父类除私有之外的所有属性字段和方法  {    public jiafaDll() { }    public jiafaDll(double a, double b)      : base(a, b)  //调用父类带两个参数的构造函数,来初始化Number1 和Number2 (注意:因为jianfaDll类继承了Calculator,所以jianfaDll类是有Number1,和Number2两个属性的)    { }    /// <summary>    /// 重写父类的jsuan方法    /// </summary>    /// <returns></returns>    public override double jsuan()    {      return Number1 + Number2;    }  }  /// <summary>  /// 减法类  /// </summary>  public class jianfaDll : Calculator  {    public jianfaDll()    { }    public jianfaDll(double a, double b)      : base(a, b)    { }    public override double jsuan()    {      return Number1 - Number2;    }  }  class Program  {    static void Main(string[] args)    {      Console.WriteLine("请输入第一个数");      double number1 = Convert.ToDouble(Console.ReadLine());      Console.WriteLine("请输入一个操作符");      string caozuofu = Console.ReadLine();      Console.WriteLine("请输入第二个数");      double number2 = Convert.ToDouble(Console.ReadLine());      Calculator c=null;      switch (caozuofu)      {        case "+":          c = new jiafaDll(number1, number2);          break;        case "-":          c = new jianfaDll(number1, number2);          break;      }      double i= c.jsuan();      Console.WriteLine(i);      Console.ReadKey();    }  }}

PS:这里再为大家推荐几款计算工具供大家进一步参考借鉴:

在线一元函数(方程)求解计算工具:
http://tools.VeVB.COm/jisuanqi/equ_jisuanqi

科学计算器在线使用_高级计算器在线计算:
http://tools.VeVB.COm/jisuanqi/jsqkexue

在线计算器_标准计算器:
http://tools.VeVB.COm/jisuanqi/jsq

更多关于C#相关内容感兴趣的读者可查看本站专题:《C#数学运算技巧总结》、《C#数据结构与算法教程》、《C#程序设计之线程使用技巧总结》、《C#常见控件用法教程》、《WinForm控件用法总结》、《C#数组操作技巧总结》及《C#面向对象程序设计入门教程

希望本文所述对大家C#程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表