这篇文章主要介绍了C#基于简单工厂模式实现的计算器功能,结合简单实例形式分析了C#使用工厂模式的数值运算相关操作技巧,需要的朋友可以参考下
本文实例讲述了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.mobange.com/jisuanqi/equ_jisuanqi
科学计算器在线使用_高级计算器在线计算:
http://tools.mobange.com/jisuanqi/jsqkexue
在线计算器_标准计算器:
http://tools.mobange.com/jisuanqi/jsq
更多关于C#相关内容感兴趣的读者可查看本站专题:《C#数学运算技巧总结》、《C#数据结构与算法教程》、《C#程序设计之线程使用技巧总结》、《C#常见控件用法教程》、《WinForm控件用法总结》、《C#数组操作技巧总结》及《C#面向对象程序设计入门教程》
希望本文所述对大家C#程序设计有所帮助。
织梦狗教程
本文标题为:C#基于简单工厂模式实现的计算器功能示例


基础教程推荐
猜你喜欢
- C#调用摄像头实现拍照功能的示例代码 2023-03-09
- C#获取指定目录下某种格式文件集并备份到指定文件夹 2023-05-30
- C# 解析XML和反序列化的示例 2023-04-14
- 实例详解C#实现http不同方法的请求 2022-12-26
- Unity 如何获取鼠标停留位置下的物体 2023-04-10
- Unity shader实现高斯模糊效果 2023-01-16
- C#通过标签软件Bartender的ZPL命令打印条码 2023-05-16
- C#中 Json 序列化去掉null值的方法 2022-11-18
- c# – USING块在网站与Windows窗体中的行为不同 2023-09-20
- C#中的Linq to JSON操作详解 2023-06-08